Interacción con la API bajo restricciones de alojamiento
Copiar enlace al artículo
Copiado

Es posible que su pagina web esta ejecutando en un alojamiento que no cumpla con los [](https://github.com/retailcrm/api-client-php#Requisitos obligatorios) requisitos del cliente PHP] para interactuar con la API:

  • versión antigua de PHP instalada (5.2 y anteriores)

  • Falta la extensión PHP cURL

En este caso, puede acceder a la API mediante la función normal file_get_contents. A continuación se muestran ejemplos de su uso.

No utilice los ejemplos siguientes si su alojamiento le permite trabajar con el funcionario. Cliente de API para PHP . Estos ejemplos no incluyen el manejo de errores ni los problemas de red.

Ejemplos

Crear orden

<?php

$crmDomain = 'https://some-crm.simla.com';
$crmKey = '4325fd34e1kVkahXL8XA3g3DEWIsQnwY';

$postData = http_build_query(array(
 'order' =>json_encode(array(
 'firstName' =>'Nombre',
 'phone' =>'Número de teléfono',
 'email' =>'Correo Electronico',
 'items' =>array(
 array(
 'productName' =>'Nombre del producto',
 'offer'=>array(
 'id' =>'Identificación interna de la oferta comercial',
 'externalId' =>'Identificación externa de la oferta comercial',
 'xmlId' =>'id de la oferta comercial en el sistema de almacén',
 )),
 array(
 'productName' =>'Nombre del producto',
 'offer'=>array(
 'id' =>'Identificación interna de la oferta comercial',
 'externalId' =>'Identificación externa de la oferta comercial',
 'xmlId' =>'id de la oferta comercial en el sistema de almacén',
)))
 '...'
)),
 'apiKey' =>$crmKey,
));

$opts = array('http' =>
 array(
 'method' =>'POST',
 'header' =>'Content-type: application/x-www-form-urlencoded',
 'content' =>$postData
 )
);

$context = stream_context_create($opts);
$result = json_decode(
 file_get_contents(
 $crmDomain . '/api/v4/orders/create', 
 false, 
 $context
 ),
 true
);

echo "ID del pedido creado = " . $result['id'];

Obteniendo información sobre el pedido

<?php

$crmDomain = 'https://some-crm.simla.com';
$crmKey = '4325fd34e1kVkahXL8XA3g3DEWIsQnwY';

// пример
$orderId = 5;
$params = array(
 'by' =>'id',
 'apiKey' =>$crmKey,
);

$result = json_decode(
 file_get_contents($crmDomain . '/api/v4/orders/' . $orderId . '?' . http_build_query($params)),
 true
);

if (isset($result['order'])) {
 // Informacion del pedido
 print_r($result['order']);
}

Obtener estados de pedidos

<?php

$crmDomain = 'https://some-crm.simla.com';
$crmKey = '4325fd34e1kVkahXL8XA3g3DEWIsQnwY';

// пример
$orderIds = array(1, 2, 3);
$params = array(
 'ids' =>$orderIds,
 'apiKey' =>$crmKey,
);

$result = json_decode(
 file_get_contents($crmDomain . '/api/v4/orders/statuses' . http_build_query($params)),
 true
);

if (isset($result['orders'])) {
 foreach ($result['orders'] as $order) {
 echo $order['id'];
 echo $order['status'];
 }
}
Gracias por tus comentarios.
¿Te resultó útil este artículo
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Si
Artículo anterior
Trabajar con descuentos y redondeo
Elaboramos mas en detalle sobre la lógica de redondeo, las principales disposiciones tanto cómo funcionan los descuentos en el sistema y las situaciones en las que la configuración "Ajustar descuento en el pedido" puede ser eficaz en el artículo.