La versión v5
es actual. Cuando trabaje con la API, debe usarla.
Diferencias con la v4
1 . La apariencia del método /api/v5/users/{id}/status
Este método cambia el estado del usuario en el sistema. Le permite sincronizar el estado del usuario con un sistema externo (por ejemplo, telefonía).
2 . La aparición del método para obtener la lista de segmentos /api/v5/segments
Este método devuelve una lista de segmentos. Le permite sincronizar segmentos de clientes con un sistema externo.
3 . La aparición de métodos para combinar clientes y combinar pedidos
Se agregaron los métodos /api/v5/customers/combine
y /api/v5/orders/combine
.
El método /api/v5/customers/combine
le permite combinar varios clientes en uno. En caso de conflicto de campos, se guardarán los datos del cliente final. En consecuencia, si los datos que necesita están en los clientes eliminados, primero debe transferirlos al cliente principal.
El método /api/v5/orders/combine
le permite combinar 2 pedidos. En este caso, se guardarán los datos finales del pedido y la composición se combinará de acuerdo con la estrategia especificada.
4 . La apariencia del método /api/v5/store/product-groups
Este método devuelve una lista de grupos de artículos del catálogo.
5. La aparición de métodos para trabajar con campos personalizados.
Se agregaron 4 métodos para trabajar con campos personalizados:
/api/v5/custom-fields
: obteniendo una lista de campos personalizados
/api/v5/custom-fields/{entity}/create
: creando un campo personalizado
/api/v5/custom-fields/{entity}/{code}
: obteniendo información sobre un campo personalizado
/api/v5/custom-fields/{entity}/{code}/edit
: editar un campo personalizado
Se agregaron 4 métodos para trabajar con directorios personalizados:
/api/v5/custom-fields/dictionaries
: obteniendo una lista de directorios de usuarios
/api/v5/custom-fields/dictionaries/create
: creación de un directorio personalizado
/api/v5/custom-fields/dictionaries/{code}
: obteniendo información sobre el manual del usuario
/api/v5/custom-fields/dictionaries/{code}/edit
: editando directorio de usuarios
6 . Campo con una colección de imágenes en un producto
En el método /api/v5/store/products
, el campo products[][offers][][images][]
está disponible con una colección de imágenes adjuntas a la oferta.
7 . Campo de género en el cliente
En los métodos /api/v5/customers*
, el campo customer[sex]
está disponible con los valores male|female
. El campo está disponible tanto para escritura como para lectura. También en el método de lista de clientes, hay un filtro disponible para este campo.
8. La aparición de métodos para trabajar con tareas.
Se agregaron 4 métodos para trabajar con tareas:
/api/v5/tasks
: obteniendo una lista de tareas
/api/v5/tasks/create
: creando una tarea
/api/v5/tasks/{id}
: obteniendo información sobre la tarea
/api/v5/tasks/{id}/edit
: edición de tareas
9 . Cambiar la composición de los campos de pago en el pedido
Se eliminaron los siguientes campos en los métodos /api/v5/orders*
:
order[paymentType]
order[paymentStatus]
order[paymentDetail]
Los siguientes campos se han agregado a los métodos para recibir información de pedidos /api/v5/orders
y /api/v5/orders/get
:
Cobro de pagos order[payments][]
Fecha de pago completa order[fullPaidAt]
10 . La aparición de métodos para crear y editar pagos.
Se agregaron 3 métodos para trabajar con pagos de pedidos:
/api/v5/orders/payments/create
: agregando pago
/api/v5/orders/payments/{id}/edit
: editar pago
/api/v5/orders/payments/{id}/delete
: eliminar pago
11. La aparición de la tasa de IVA para los productos en el pedido.
Se han agregado los siguientes campos a los métodos para recibir información de pedidos /api/v5/orders
y /api/v5/orders/get
:
Tasa de IVA para el artículo en pedido order[items][][vatRate]
Tasa de IVA para productos en pedido order[items][][offer][vatRate]
En los métodos para crear /api/v5/orders/create
y editar /api/v5/orders/{externalId}/edit
un pedido para cada artículo, puede especificar una tasa de IVA individual order[items][][vatRate]
.
12 . Agregar métodos para trabajar con notas de clientes y eliminar el campo customer[commentary]
En esencia, el cliente reemplazó el campo Comentario con notas. Por lo tanto, el campo customer[commentary]
se ha eliminado de los métodos del cliente.
También se agregaron 3 métodos para trabajar con notas de clientes:
/api/v5/customers/notes
: obtén una lista de notas
/api/v5/customers/notes/create
: agregando una nota
/api/v5/customers/notes/{id}/delete
: eliminar una nota
13 . Cambiar el funcionamiento de los descuentos en pedidos
Se eliminaron los campos order[discount]
, order[discountPercent]
, order[items][][discount]
, order[items][][discountPercent]
en todos los métodos de trabajo con pedidos.
En los métodos para crear y editar el orden /api/v5/orders/create
, /api/v5/orders/{externalId}/edit
, /api/v5/orders/upload
, puede transferir los descuentos en el pedido y productos en los campos order[discountManualAmount]
, order[discountManualAmount]
, order[discountManualAmount]
, order[discountManualAmount]
, /api/v5/orders/{externalId}/edit
order[items][][discountManualPercent]
, mientras que los descuentos en pedidos se distribuirán entre los artículos.
Los métodos para recibir pedidos /api/v5/orders
, /api/v5/orders/{externalId}
devuelven el descuento por pronto pago calculado total por artículo para cada artículo en el campo order[items][][discountTotal]
, que tiene en cuenta tanto los descuentos de artículos actuales como los descuentos de pedidos asignados entre productos.
Cabe señalar que puede haber casos en que los descuentos para un pedido no se puedan dividir entre productos (por ejemplo, un artículo de un producto en la cantidad de 3 piezas se transfiere en un pedido, así como un descuento para un pedido de 1000 euros). Si ocurre tal caso, se lanzará un error. Para evitar esto, agregamos una configuración, cuando está habilitada, el sistema determinará automáticamente el descuento más cercano para un pedido, lo que permitirá dividirlo entre productos.
14 . Campo con grupos en el producto
En el método /api/v5/store/products
, el campo products[][groups][]
está disponible con el ID de los grupos de productos a los que pertenece el producto.
15. Referencia de propiedades de producto y productos de filtrado por propiedades
Se agregó el método /api/v5/store/products/properties
para obtener una lista de propiedades utilizadas en el catálogo. Además, en el método /api/v5/store/products
, se ha agregado el filtro filter[properties][]
, que permite seleccionar productos con valores específicos de determinadas propiedades.
16 . Métodos para presentar una solicitud de recogida de productos por parte del servicio de reparto.
Se agregaron 4 métodos API:
GET /api/v5/delivery/shipments
: obteniendo una lista de envíos a los servicios de entrega
POST /api/v5/delivery/shipments/create
: crear envío
GET /api/v5/delivery/shipments/{id}
: obteniendo información sobre el envío
POST /api/v5/delivery/shipments/{id}/edit
: edición del envío
Y también 2 métodos de devolución de llamada:
POST {integrationModule["baseUrl"]}/{configuration["actions"]["shipmentSave"]}
: creación y edición de una solicitud de envío
POST {integrationModule["baseUrl"]}/{configuration["actions"]["shipmentDelete»]}
: eliminando una solicitud de envío
Obtenga más información en el artículo sobre la API de entrega .
17 . Cambiar los métodos de registro del módulo
Se han eliminado los métodos antiguos para registrar módulos y obtener información sobre un módulo, a saber:
/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
/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/marketplace/external/setting/{code}/edit
: registro del módulo de integración con la plataforma del mercado
/api/v4/telephony/setting/{code}/edit
: crea / edita la configuración del módulo de telefonía
/api/v4/telephony/setting/{code}
: obteniendo la configuración actual del módulo de telefonía
En lugar de ellos, se han introducido 2 métodos uniformes para registrar un módulo:
/api/v5/integration-modules/{code}/edit
: crea / edita los parámetros del módulo de integración
/api/v5/integration-modules/{code}
: obteniendo los parámetros del módulo de integración
Dentro de estos métodos, también puede pasar configuraciones específicas del módulo.
También se introdujo un método de devolución de llamada:
{integrationModule["baseUrl"]}/{integrationModule["actions"]["activity"]}
: se llama cuando el usuario enciende / apaga el módulo dentro del sistema.
18 . Métodos de manejo de mensajería
Se agregaron 3 métodos de API:
GET /api/v5/reference/couriers
: lista de mensajeros registrados en el sistema
POST /api/v5/reference/couriers/create
: crea un mensajero
POST /api/v5/reference/couriers/{id}/edit
: editar mensajería
diecinueve. Información de segmento en métodos API de información del cliente
En los métodos API para obtener información sobre los clientes, se dispone de datos sobre los segmentos a los que pertenecen:
GET /api/v5/customers
- en el campo customers[][segments]
POST /api/v5/customers/{externalId}
- en el campo customer[segments]
20 . Referencia de unidades
Se agregaron 2 métodos API para trabajar con unidades de medida:
GET /api/v5/reference/units
: obteniendo información sobre las unidades de medida en el sistema
POST /api/v5/reference/units/{code}/edit
: creación y edición de unidades de medida
Además, la información sobre las unidades está disponible en los siguientes métodos:
GET /api/v5/store/products
- campo products[][offers][][unit]
POST {integrationModule["baseUrl"]}/{configuration["actions"]["save"]}
- campo save[packages][][items][][unit]
GET /api/v5/orders
- campo orders[items][][offer][unit]
GET /api/v5/orders/{externalId}
- campo order[items][][offer][unit]
GET /api/v5/orders/packs
- campo packs[unit]
GET /api/v5/orders/packs/{id}
- campo pack[unit]
21 . La aparición de coordenadas en los almacenes.
En el método /api/v5/reference/stores*
, los campos store[address][coordinates][latitude]
y store[address][coordinates][longitude]
están disponibles con latitud y longitud, respectivamente. Los campos están disponibles tanto para escritura como para lectura.
22 . La aparición de métodos para trabajar con archivos.
Se agregó la capacidad de trabajar con archivos adjuntos a pedidos o clientes. Se agregaron 6 métodos para trabajar con archivos:
/api/v5/files
: obteniendo una lista de archivos
/api/v5/files/{id}
: obtener información sobre un archivo específico
/api/v5/files/{id}/download
: descarga el archivo cargado en el sistema
/api/v5/files/upload
: subiendo un archivo al sistema
/api/v5/files/{id}/edit
: edita el nombre del archivo y edita la vinculación del archivo a pedidos y clientes
/api/v5/files/{id}/delete
: eliminar un archivo del sistema
23 . La aparición de métodos de trabajo con clientes corporativos.
Se agregó la capacidad de trabajar con clientes corporativos. Se agregaron 20 nuevos métodos:
/api/v5/customers-corporate
: obteniendo una lista de clientes corporativos que coinciden con el filtro especificado
/api/v5/customers-corporate/combine
: consolidación de clientes corporativos
/api/v5/customers-corporate/create
: crea un cliente corporativo
/api/v5/customers-corporate/fix-external-ids
: registro masivo de ID externos de clientes corporativos
/api/v5/customers-corporate/history
: obtener el historial de cambios para clientes corporativos
/api/v5/customers-corporate/notes
: obtén notas
/api/v5/customers-corporate/notes/create
: crea una nota
/api/v5/customers-corporate/notes/{id}/delete
: eliminar una nota
/api/v5/customers-corporate/upload
: descarga por lotes de clientes corporativos
/api/v5/customers-corporate/{externalId}
: obtener información sobre un cliente corporativo
/api/v5/customers-corporate/{externalId}/addresses
: lista de direcciones de clientes corporativos
/api/v5/customers-corporate/{externalId}/addresses/create
: creando una dirección para un cliente corporativo
/api/v5/customers-corporate/{externalId}/addresses/{entityExternalId}/edit
: editando la dirección de un cliente corporativo
/api/v5/customers-corporate/{externalId}/companies
: lista de empresas clientes corporativas
/api/v5/customers-corporate/{externalId}/companies/create
: creación de una empresa para un cliente corporativo
/api/v5/customers-corporate/{externalId}/companies/{entityExternalId}/edit
: editar la empresa de un cliente corporativo
/api/v5/customers-corporate/{externalId}/contacts
: lista de personas de contacto de clientes corporativos
/api/v5/customers-corporate/{externalId}/contacts/create
: crea una conexión entre un cliente corporativo y una persona de contacto
/api/v5/customers-corporate/{externalId}/contacts/{entityExternalId}/edit
: editar la relación de un cliente corporativo con una persona de contacto
/api/v5/customers-corporate/{externalId}/edit
: editando cliente corporativo
En los métodos para crear, cargar por lotes y editar pedidos /api/v5/orders/create
, /api/v5/orders/upload
, /api/v5/orders/{externalId}/edit
agregaron campos:
order[customer][type]
: tipo de cliente, de forma predeterminada customer
. Para crear un pedido para un cliente corporativo, este campo debe pasarse customer_corporate
order[customer][nickName]
: el nombre de la contraparte, que se transmite cuando es necesario crear un nuevo cliente corporativo
order[contact]
: un conjunto de datos que se insertará en el pedido de una persona de contacto, que se utiliza si el pedido se realiza en un cliente corporativo
order[company]
: un conjunto de datos que se sustituirá en un pedido de la empresa, que se utiliza si el pedido se realiza a un cliente corporativo
Los siguientes campos se han agregado a los métodos para obtener la lista y obtener información sobre el pedido /api/v5/orders
, /api/v5/orders/{externalId}
:
order[customer][type]
: tipo de cliente para el que se realiza el pedido
order[contact]
: persona de contacto del pedido
order[company]
: empresa del pedido
Puede realizar un pedido para un cliente corporativo solo si el sistema ha activado el trabajo con clientes corporativos.
Se eliminaron los campos de contraparte de los clientes. Pueden existir en modo de compatibilidad para varios sistemas que no han habilitado el trabajo con clientes corporativos. Estos campos incluyen:
En el método para obtener la lista de clientes /api/v5/customers
:
filter[contragentName]
filter[contragentTypes][]
filter[contragentInn]
filter[contragentKpp]
filter[contragentBik]
filter[contragentCorrAccount]
filter[contragentBankAccount]
customers[][contragent]
En los métodos para crear, editar, cargar por lotes y obtener información del cliente /api/v5/customers/create
, /api/v5/customers/{externalId}/edit
, /api/v5/customers/upload
, /api/v5/customers/{externalId}
:
customers[][contragent]
Al activar el trabajo con clientes corporativos, si el sistema ya tiene clientes con datos de contraparte completos, se realiza una migración para convertir estos clientes en clientes corporativos. Estos clientes ya no estarán disponibles a través de los métodos api/v5/customers/*
, pero su historial pasado aún se puede recuperar a través del método /api/v5/customers/history
. Después de la migración, el cliente agregará un nuevo registro a este historial, en el que field
tendrá el valor type
, oldValue
- customer
, [TRANSLATE_18] [TRANSLATE_25LACEHOLDER_2518]]
, [TRANSLATE_18] [TRANSLATE_25]
... Así, será posible conocer cuáles de los clientes se convirtieron en clientes corporativos. Durante la conversión, se guardarán id y externalId. Puede obtener más información sobre el proceso de migración en la documentación para trabajar con clientes corporativos.