Diferencias entre API v4 y v3
Copiar enlace al artículo
Copiado

La versión v4 está obsoleta deprecated y está obsoleta.

Diferencias con la v3

1. Las propiedades de la entidad en el cliente y el pedido se trasladaron al objeto contractual.

En los métodos de trabajo con clientes /api/v4/customers* y pedidos /api/v4/orders*, los detalles de la entidad se especifican en el contragent adjunto.

Ejemplo para el cliente:

 "customer": {
 //...
 "contragent": {
 "contragentType": "individual"
 } 
 }
}

Ejemplo de pedido:

 "order": {
 //...
 "contragent": {
 "contragentType":"legal-entity",
 "legalName":"SL «Sanz Hermanos»",
 "legalAddress":"28047, ES, Paseo de la Castellana 43",
 "CIF":"4303432",
 "BIK":"044525355",
 "bank":"Banco Santander",
 "bankAddress":"ciudad Madrid",
 "IBAN":"40702810400000041213"
 } 
 }
}

2. Se formaliza el tiempo de entrega

En los métodos para trabajar con pedidos /api/v4/orders*, el tiempo de entrega se movió de order[delivery][address][deliveryTime] a order[delivery][time] y no se establece mediante una cadena, sino mediante una estructura.

Si necesita pasar un intervalo de tiempo:

 //...
 "delivery": {
 //...
 "time": {
 "from": "13:00",
 "to": "18:00"
 }
 }
}

Si necesita transmitir la hora exacta:

 //...
 "delivery": {
 //...
 "time": {
 "from": "13:30",
 "to": "13:30"
 }
 }
}

Si necesita transferir tiempo no formalizado:

 //...
 "delivery": {
 //...
 "time": {
 "custom": "despues del almuerzo"
 }
 }
}

3. Se eliminó el campo customerId del método de creación de pedidos /api/v4/orders/create

Para vincular un pedido a un cliente, en lugar de order[customerId], ahora debe especificar order[customer][id] '' (vinculante por ID de cliente interno) '', order[customer][externalId] '' (vinculante por ID de cliente externo) '' o [[ TRANSLATE_PLACEHOLDER_2300]] '' (enlace por ID de cliente en el recopilador) ''.

4. Cambiando el filtro de pedidos por ID de cliente en /api/v4/orders

Se quitó el filtro por ID de cliente externo filter[customerId] en el método /api/v4/orders. En su lugar, se han agregado un filtro por ID de cliente interno filter[customerId] y un filtro por ID de cliente externo filter[customerExternalId].

cinco. Método agregado /api/v4/store/products

El método /api/v4/store/products se puede utilizar para obtener una lista de productos con SKU según el filtro.

6. Se eliminaron los campos productId, offerId, xmlId de los métodos de creación y edición de pedidos

Para vincular una propuesta de venta a un pedido, en lugar de order[items][][productId], order[items][][offerId] y order[items][][xmlId], debe especificar uno de los siguientes campos: order[items][][offer][externalId] "] ] '' (ID de producto externo o SKU) '', order[items][][offer][xmlId] '' (ID de SKU en el sistema de almacén) ''.

7. Métodos para trabajar con usuarios

Se agregaron 3 métodos para trabajar con usuarios:

/api/v4/user-groups: obteniendo una lista de grupos de usuarios

/api/v4/users: obteniendo una lista de usuarios

/api/v4/users/{id}: obteniendo información sobre el usuario

8. Cambios en los métodos de trabajo con telefonía

El método de edición de la configuración de telefonía cambió la dirección a /api/v4/telephony/setting/{code}/edit, mientras que los datos enviados se incluyen en el objeto configuration

Método agregado para obtener la configuración de telefonía actual /api/v4/telephony/setting/{code}

En los métodos anteriores, se han agregado las siguientes propiedades: additionalCodes '' (códigos de extensión asignados a los administradores) '', externalPhones '' (asignando números externos a las tiendas) '', allowEdit '' ( si permitir o no cambiar la configuración a través de la interfaz del sistema) '', inputEventSupported '' (indica que la telefonía notifica al sistema de una llamada entrante) '', outputEventSupported '' (indica que la telefonía notifica al sistema sobre llamada saliente) '', hangupEventSupported '' (indicación de que la telefonía notifica al sistema sobre el final de la llamada) '', changeUserStatusUrl '' (dirección donde el sistema informará a la telefonía sobre el cambio de estado del administrador) ' '.

En el método /api/v4/telephony/call/event:

Los datos están envueltos en un objeto event

El campo code se reemplazó por codes y se convirtió en una matriz (puede notificar a varios administradores sobre una llamada entrante)

Parece que el objeto webAnalyticsData transfiere datos de análisis web

Se agregó la propiedad callExternalId para transferir el ID de llamada externa

9. Métodos para registrar un sistema de almacén

Se agregaron 2 métodos:

/api/v4/store/setting/{code}/edit: registro y configuración del sistema de almacenamiento

/api/v4/store/setting/{code}: obteniendo la configuración actual del sistema de almacén

10. Métodos de integración con un servicio de entrega

Métodos agregados para integrar el servicio de entrega:

/api/v4/delivery/generic/setting/{subcode}/edit - registro y configuración del servicio de entrega

/api/v4/delivery/generic/setting/{subcode}: obteniendo la configuración actual del servicio de entrega

/api/v4/delivery/generic/{subcode}/tracking: actualizar los estados de entrega

11. Varios filtros por referencias en métodos de lista

Los cambios afectaron a los siguientes métodos:

/api/v4/orders

/api/v4/customers

/api/v4/orders/packs

/api/v4/store/inventories

/api/v4/users

En estos métodos, los filtros por campos del tipo Referencia se han vuelto múltiples.

Era:

https://demo.retailcrm.es/api/v3/orders?filter [orderMethod] = shopping-cart & apiKey = 23fawef5e34fadgaw432da

Convirtió:

https://demo.retailcrm.es/api/v4/orders?filter [orderMethods [[]] = carrito de compras y filtro [orderMethods] [[] = phone & apiKey = 23fawef5e34fadgaw432da

12. El método de edición de pedidos ya no crea un pedido si falta

El método /api/v3/orders/{externalId}/edit crea un pedido si no existe en la base de datos del sistema. El nuevo método /api/v4/orders/{externalId}/edit, si no hay un pedido en la base de datos, devuelve un error 404 con información de que no se encontró el pedido.

13. Método agregado /api/v4/customers/history

El método /api/v4/customers/history le permite obtener un historial incremental de los cambios del cliente. Más información sobre cómo trabajar con métodos de historial.

14. Cambiar el comportamiento del método de historial /api/v4/orders/history

En el método de la versión anterior /api/v3/orders/history, se daba el historial, agrupado por pedidos, por lo que los cambios repetidos del mismo campo se fusionaban en el último cambio. El método /api/v4/orders/history, por el contrario, proporciona un historial incremental de cambios de pedido, donde cada cambio está representado por un registro separado en el historial. Más información sobre cómo trabajar con métodos de historial.

Gracias por tus comentarios.
¿Te resultó útil este artículo
No
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Si
Artículo anterior
Diferencias entre API v5 y v4
El artículo analiza nuevos métodos y extensiones que estuvieron disponibles con la llegada de API v5.