CRM 360 - Integración de Transacciones
Acerca del documento
CRM360 es una solución de Napse para analizar la conducta y el comportamiento de compra de sus clientes, promoviendo así, potenciales oportunidades de interés y retención.
Este manual está destinado a todos los sistemas de punto de venta que se integren con CRM360 mediante el uso de servicio REST o por Archivo.
A continuación, se dará detalle del servicio REST disponible y el de Archivo, destinado a nutrir la base de datos de transacciones.
Importación de Transacciones
Mediante API REST
Este método posee la especificación detallada ante la creación o actualización de un cliente.
Este servicio permite el envío de hasta 100 datos.
Método REST basado en el formato JSON. Ejemplo:
EndPoint
[POST] https://[dirección-ip]:[puerto]/api/v1/importData/transactions
POST - REQUEST
HEADER
Elemento | Valor |
---|---|
x-access-token | Token obtenido a través del servicio "Authenticate" |
Ejemplo:
|
BODY
Ejemplo con POSTMAN: Content Type - raw JSON
Elemento | Descripción | Tipo de dato | Requerido |
---|---|---|---|
companyCode | Código de compañía, provisto para la empresa que contrata el servicio | String | Si |
lot | Número de identificación de lote | String | No |
transactions | Listado de Transacciones | JSON | Si |
{ "companyCode":"napse", "lot":"100005043", "transactions": [...] }
Mediante ARCHIVO
Este método posee la especificación detallada ante la creación o actualización de transacciones.
Este servicio permite el envío de hasta 100 datos.
Método REST basado en el formato JSON. Ejemplo:
EndPoint
[POST] https://[dirección-ip]:[puerto]/api/v1/importData/blob/transactions
POST - REQUEST
HEADER
Elemento | Valor |
---|---|
x-access-token | Token obtenido a través del servicio "Authenticate" |
Ejemplo:
|
BODY
Ejemplo con POSTMAN: Content Type - form-data
Elemento | Valor |
---|---|
file File | archivo.json |
Especificación del dato Transaction
# | Campo | Tipo | Descripción | Requerido |
---|---|---|---|---|
1 | transactionId | String | Refiere al código de envío de la compañía, para el ticket del cliente. | Si |
2 | type | String | El tipo de transacción, pueden ser los valores Venta, Devolución o Cambio | Si |
3 | channelCode | String | Código del canal (interno) / externalCode | Si |
4 | businessAt | Date | Fecha de transacción | Si |
5 | operatorCode | string | Código de operador, vendedor o cajero | Condicional |
6 | operatorName | string | Nombre y apellido del operador, vendedor o cajero | No |
7 | itemCount | number | Cantidad de ítems de la venta | Si |
8 | grossAmount | number | Monto bruto, con impuestos incluidos, sin descuentos | Si |
9 | taxAmount | number | Importe de impuestos | Si |
10 | discountAmount | number | Importe general de descuentos de la transacción (descuentos por promociones + descuentos manuales) | Si |
11 | currencyDescription | string | Descripción de la moneda de la operación | Si |
12 | totalAmount | number | Importe total de la transacción | Si |
13 | products[{
}] | lista | Productos de la transacción
Beneficios/Promociones
| Si |
14 | payments [{ code type cardType installments amount }] | lista | Forma de Pago
| Si |
15 | benefitPayments [{ cardNumber CardType }] | lista | Beneficios en el Pago
| Condicional |
16 | storeCode | String | Refiere al código de tienda en la compañía. | Condicional |
17 | storeName | String | Refiere al nombre de tienda en la compañía. | No |
18 | terminalCode | String | Refiere al código de terminal en la compañía. | No |
19 | terminalName | String | Refiere al nombre de tienda en la compañía. | No |
20 | customer | Object | Ver 360° - Integración de Clientes | Condicional |
Ejemplo:
{ "transactionId": "1-1637940744436", "type": "Return", "channelCode": "store", "businessAt": "2021-11-16T17:40:33.792Z", "operatorCode": "mobility", "operatorName": "Tracy Upton", "productCount": 4, "grossAmount": 3319, "taxAmount": 0, "discountAmount": 330, "currencyDescription": "$", "totalAmount": 2989, "customer": { "code": "0000006825", "active": true, "firstName": "Jack", "lastName": "Anderson", "documentTypeCode": 1, "documentNumber": 45433355, "gender": "M", "birthCountryCode": "ARG", "birthdate": "1980-12-31T09:23:08.996Z", "telephones": [ { "type": "Personal", "area": 11, "number": 44891968, "countryCode": "011" } ], "emails": [ { "type": "Personal", "email": "[email protected]" } ], "addresses": [ { "type": "Personal", "address": "Wyman Prairie", "number": 6818, "cityCode": "BSAS_195", "stateCode": "BSAS", "countryCode": "ARG" } ] }, "products": [ { "code": "303", "price": 749, "name": "Lavarropas", "description": "Lavarropas Automático Carga Frontal Samsung 7 Kg. SAWW70J4463GS Inoxidable", "categoryCode": "ELEC", "categoryName": "Electrodomésticos", "brandCode": "LG", "brandName": "LG", "total": 2996, "quantity": 4, "discountAmount": 330, "benefits": [ { "promoCode": "500", "promoType": false, "percentage": 11, "reasonText": "Handcrafted Steel Chair", "benefitAmount": 330 } ] }, { "code": "9996", "price": 640, "name": "Cargador De Pared Xiaomi 1 Puerto Usb- C Blanco", "categoryCode": "CARGAD", "categoryName": "Cargadores de Celular", "brandCode": "Mobo", "brandName": "MOBO", "total": 640, "quantity": 1, "discountAmount": 0, "benefits": null }, { "code": "2206010", "price": 934, "name": "BALERO TRASERO", "description": "BALERO TRASERO", "categoryCode": "DO", "categoryName": "DO", "brandCode": "SYD", "brandName": "SYD", "total": 934, "quantity": 1, "discountAmount": 0, "benefits": null }, { "code": "8008", "price": 996, "name": "Sujetador Para Celular Popsockets Floral Colores", "categoryCode": "Sop y Acce", "categoryName": "Soportes y Accesorios", "brandCode": "POPSOCKETS", "brandName": "POPSOCKETS", "total": 4980, "quantity": 5, "discountAmount": 0, "benefits": null } ], "payments": [], "storeCode": "online", "storeName": "Tienda Online" }