Interacción con la API bajo restricciones de alojamiento Si su pagina web se ejecuta en un alojamiento que no cumple con los requisitos del cliente PHP para interactuar con la API, puede acceder a la API utilizando la función file_get_contents habitual. En el artículo presentamos ejemplos de su uso. false W3sidGl0bGUiOiJBUEkiLCJ1cmwiOiIvZXMvZGV2ZWxvcGVycy9hcGkvIn0seyJ0aXRsZSI6IkNhcmFjdGVyw61zdGljYXMgcGFyYSB0cmFiYWphciBjb24gQVBJIiwidXJsIjoiL2VzL2RldmVsb3BlcnMvYXBpL2FwaS1mZWF0dXJlcy8ifV0= API /es/developers/api/ ["developers","API"] ["developers","API","Características para trabajar con API"] developers

Interacción con la API bajo restricciones de alojamiento

Si su pagina web se ejecuta en un alojamiento que no cumple con los requisitos del cliente PHP para interactuar con la API, puede acceder a la API utilizando la función file_get_contents habitual. En el artículo presentamos ejemplos de su uso.

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';

// ejemplo
$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';

// ejemplo
$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
  • Las recomendaciones no ayudaron
  • No hay respuesta a mi pregunta
  • El texto es difícil de entender
  • No me gusta la funcionalidad descrita
Sí
Artículo siguiente
Uso de la API para la integración con el Programa de fidelización
Revisaremos los principales escenarios de uso de la API para interactuar con el Programa de fidelización.