El formato general de solicitud es: Bloco de código |
---|
| {
"companyId": "myCompanyId",
"params":[
{"param1":"param1value", "paramN":"paramNvalue", ...}
],
"items": [
{.... primer item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
]
} |
donde Campo | Descripción | Tipo de Dato |
---|
companyId | | alfanumérico. Requerido | params | Parámetros extra | detailedErrors: indica si se desea el detalle de errores en la respuesta. Default: true detailedSuccess: indica si se desea el detalle de registros correctos en la respuesta. Default: true | items | Registros a importar | Colección de cupones y su operación asociada. |
El formato de los ítems es el siguiente: Campo | Descripción |
---|
operation | Operación a realizar sobre el registro. Ver tabla siguiente | barcode | Código de barras del cupón. En este caso si se solicita crear un elemento, el mismo será creado con este código. Si se deja por defecto genera un número automáticamente. Valor por defecto: '' | email | Correo electrónico destino para cupones de tipo electrónico. Opcional. Valor por defecto: "" | type | Tipo de Cupón. Obligatorio, debe existir previamente. | amount | Monto asociado a la operación. | customerId | Código de cliente asociado. Valor por defecto: '' | storeCode | Tienda donde se realizó la transacción. Opcional (A partir de 7.2.6). | terminalCode | Terminal donde se realizó la transacción. Opcional (A partir de 7.2.6). |
Los valores posibles del campo operation son: Valor | Descripción |
---|
CREATE | Emitir/Crear el cupón informado. | REDEEM | Redención | VOID | Desactivar | UPDATE | A partir de la versión 7.2.3 se agrega la posibilidad de enviar un update sobre el cliente, además de sobre el vencimiento que ya se podía realizar1 bajo la operación UPDATE se puede modificar la fecha de vigencia de cupones utilizando el nuevo campo "validTo". Si como parte de una operación de UPDATE de un cupón, se informa un customerId, ese customer será asignado al cupón. En modo normal, será validado que el customerId exista previamente, dando un error si no existe el cliente en la base de datos de Promo. Si el flag "promo.allowNonExistingCustomers" está activo, entonces esta verificación no se llevará a cabo, pudiéndose asignar un cupón a un cliente inexistente en la base de Promo. Nota: La operación UPDATE no modifica los datos del cliente que se ven desde la pantalla "Gestión de Clientes". La operación UPDATE actualiza los datos del cupón. |
Expandir |
---|
| Ejemplo de Envío de registro. En este caso se envían los siguientes cupones: - Se solicitar crear el cupón 1050000018 con valor de 1000.
- Se solicita redimir el cupón 1050000018 con valor de 300.
- Se solicita anular el cupón 1050000019.
Bloco de código |
---|
| {
"companyId": "2",
"params": [],
"items": [
{
"operation": "CREATE",
"barcode": "1050000018",
"type": "6",
"email": "",
"storeCode":"3",
"terminalCode":"1",
"amount": "1000.00",
"customerId": "3"
},
{
"operation": "REDEEM",
"barcode": "1050000018",
"type": "6",
"email": "",
"storeCode":"3",
"terminalCode":"1",
"amount": "300.00",
"customerId": "3"
},
{
"operation": "VOID",
"barcode": "1050000019",
"type": "6",
"email": "",
"storeCode":"3",
"terminalCode":"1",
"amount": "1000",
"customerId": "3"
}
]
} |
El formato general de respuesta es: Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::couponAdmin",
"transactionId": "SVC_CPN_20230814165801",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 1,
"removed": 0,
"errors": 1,
"processed": 3,
"errorDetails": [
{
"rec": 3,
"code": "9101",
"info": null
}
],
"successDetails": [
{
"rec": 1,
"code": "1050000018"
},
{
"rec": 2,
"code": "1050000018"
}
]
}
} |
Expandir |
---|
| Ejemplo de Envío de registro. En este caso se envían las siguientes tarjetas: - solicitar crear una tarjeta "3000000002", de tipo 8, con saldo de 100.
- solicitar crear una tarjeta "3200000002", de tipo 9, con saldo de 700.
- solicitar crear una tarjeta "3500000002", de tipo 10, con saldo de 50.
- solicitar crear una tarjeta "3700000002", de tipo 11, con saldo de 700.
- solicitar crear una tarjeta "4100000002", de tipo 12, con saldo de 3500.
- solicitar crear una tarjeta "4200000002", de tipo 13, con saldo de 150.
- solicitar crear una tarjeta "4200000002", de tipo 14, con saldo de 150.
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "ACTIVATION", "code": "3000000002", "type": "8", "validFrom":"-", "validTo":"-", "amount":"100", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "3200000002", "type": "9", "validFrom":"-", "validTo":"-", "amount":"700", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "3500000002", "type": "10", "validFrom":"-", "validTo":"-", "amount":"50", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "3700000002", "type": "11", "validFrom":"-", "validTo":"-", "amount":"700", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "4100000002", "type": "12", "validFrom":"-", "validTo":"-", "amount":"3500", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "4200000002", "type": "13", "validFrom":"-", "validTo":"-", "amount":"150", "customerId":"", "cvv":"", "reason":"" },
{ "operation": "ACTIVATION", "code": "4200000002", "type": "14", "validFrom":"-", "validTo":"-", "amount":"150", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814115340",
"detail": {
"result": "ok",
"detail": "",
"updated": 0,
"ignored": 0,
"inserted": 5,
"removed": 0,
"errors": 2,
"processed": 7,
"errorDetails": [
{
"rec": 5,
"code": "9504",
"info": null
},
{
"rec": 7,
"code": "9503",
"info": null
}
],
"successDetails": [
{
"rec": 1,
"code": "3000000002",
"amount": "100.0"
},
{
"rec": 2,
"code": "3200000002",
"amount": "700.0"
},
{
"rec": 3,
"code": "3500000002",
"amount": "50.0"
},
{
"rec": 4,
"code": "3700000002",
"amount": "700.0"
},
{
"rec": 6,
"code": "4200000002",
"amount": "150.0"
}
]
}
} |
A partir de Promo 7.2.6 la respuesta informa sobre el Id de la transaction
y el amount del elemento de fidelidad.
8. Se solicita modificar la carga de la tarjeta 450000000 con 1000. Inicialmente no tenia carga Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "AMOUNT_UPDATE", "code": "4500000000", "type": "14", "validFrom":"2023-08-14", "validTo":"2023-12-31", "amount":"1000.00", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814151200",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 0,
"removed": 0,
"errors": 0,
"processed": 1,
"errorDetails": [],
"successDetails": [
{
"rec": 1,
"code": "4500000000",
"amount": "1000.0"
}
]
}
} |
9. Se solicita consumir 30 de la tarjeta "3000000002" Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "CONSUME", "code": "3000000002", "type": "14", "validFrom":"2023-08-14", "validTo":"2023-12-31", "amount":"30.00", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814151751",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 0,
"removed": 0,
"errors": 0,
"processed": 1,
"errorDetails": [],
"successDetails": [
{
"rec": 1,
"code": "3000000002",
"amount": "70.0"
}
]
}
} |
Se observa que ahora la tarjeta tiene un saldo de 70; cuando inicialmente era de 100 10. Se solicita recargar 1000 a la tarjeta "3000000003" Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "RECHARGE", "code": "3000000003", "type": "14", "validFrom":"2023-08-14", "validTo":"2023-12-31", "amount":"1000.00", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814152100",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 0,
"removed": 0,
"errors": 0,
"processed": 1,
"errorDetails": [],
"successDetails": [
{
"rec": 1,
"code": "3000000003",
"amount": "1000.0"
}
]
}
} |
11. Se solicita cargar 1000 a la tarjeta "3000000003" Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "CHARGE", "code": "4200000002", "type": "14", "validFrom":"2023-08-14", "validTo":"2023-12-31", "amount":"1000.00", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814152636",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 0,
"removed": 0,
"errors": 0,
"processed": 1,
"errorDetails": [],
"successDetails": [
{
"rec": 1,
"code": "4200000002",
"amount": "1150.0"
}
]
}
} |
12. Se solicita cancelar la tarjeta "3000000003" Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Request |
---|
| {
"companyId": "2",
"params": [{"oneActiveCardByCustomer":"false", "validatedCardvalidateCard":"true"}],
"items": [
{ "operation": "CANCEL", "code": "4200000002", "type": "14", "validFrom":"2023-08-14", "validTo":"2023-12-31", "amount":"1000.00", "customerId":"", "cvv":"", "reason":"" }
]
} |
Bloco de código |
---|
language | xml |
---|
theme | Emacs |
---|
title | Response |
---|
| {
"status": 200,
"description": "rest::cardAdmin",
"transactionId": "SVC_CRD_20230814152954",
"detail": {
"result": "ok",
"detail": "",
"updated": 1,
"ignored": 0,
"inserted": 0,
"removed": 0,
"errors": 0,
"processed": 1,
"errorDetails": [],
"successDetails": [
{
"rec": 1,
"code": "4200000002",
"amount": "1150.0"
}
]
}
} |
Los resultados de estas operaciones se verán reflejados en la Consola/Módulo de Fidelidad/Elementos de Fidelidad |
donde Campo | Descripción | Tipo de Dato |
---|
status | código de respuesta | 200 indica que ha sido procesada correctamente. | description | Descripción general | Fijo "rest::couponAdmin' | transactionId | Id de la transacción | string (A partir de 7.2.6) | detail | Detalle del proceso | array | detail.result | Resultado general del proceso | ok indicando proceso realizado | detail.detail | Mensaje detallado respecto al proceso | vacío en el caso de ok | detail.updated | cantidad de ítems actualizados | integer | detail.ignored | cantidad de ítems ignorados | integer | detail.inserted | cantidad de ítems agregados | integer | detail.removed | cantidad de ítems removidos | integer | detail.errors | cantidad de ítems erróneos | integer | detail.processed | cantidad de ítems procesados | integer | detail.errorDetails | Detalle de cada registro con error. | rec: numero de registro en la solicitud code: código de error. Ver lista de errores en el Manual de Integración 7.2- Motor. info: mensaje informativo del error, puede devolver NULL. | detail.successDetails | Detalle de cada registro procesado correctamente | rec: Numero de registro en la solicitud code: código de cupón |
|
|