Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

CampoEjemplosTipo de datoDetalle
companyIdnapseAlfanuméricoCódigo de la compañía - Requerido
catalogCatalogExclusionDatesCatalogostringCatálogo de Fechas de Exclusión  - Requerido
params[ ]ListadoParámetros adicionales - Requerido
storeCodenapseAlfanuméricoCódigo de la tienda - Requerido
promotionNamesPromo testAlfanuméricoNombre de la promoción que será excluida para la tienda y fecha indicada. No obligatorio para la operación R, solo en los casos en que se quiera eliminar todas las exclusiones de días específicos, este campo podrá quedar como vacío es decir "", indicando que todas las exclusiones de promociones en las fechas indicadas serán removidas.
exclusionDates["2022-07-21", "2022-07-22"]Listado de fechasFechas en las que será excluida la promoción, cada fecha deberá seguir el formato de "año-mes-día" - Requerido
operationIAlfanuméricoIdentifica el tipo de operación a realizar por cada limite a procesar (requerido), dentro de las opciones disponibles están: (Requerido)
  • I → Insertar
  • U → Modificar
  • R → Eliminar

...

Expandir
titleSolicitud

El formato general de solicitud es:

Bloco de código
languageyml
themeEmacs
{
 "companyId": "myCompanyId",
"params":[      
	{"param1":"param1value", "paramN":"paramNvalue", ...}
],
"items": [
{.... primer item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
]
}

donde

CampoDescripciónTipo de Dato

companyId

  • código de Empresa
alfanumérico. Requerido
paramsParámetros extra

Requerido

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

validateCard: Realiza todas las validaciones del elemento de fidelidad. Por ej: el uso de cvv. Default: false.

oneActiveCardByCustomer: Valida si un cliente posee un elemento de fidelidad activo. Default: true

itemsRegistros a importarColección de elementos y su operación asociada. Requerido


El formato de los ítems es el siguiente:

  
CampoDescripción
operationOperación a realizar sobre el registro.  Ver tabla siguiente Requerido
codecódigo de elemento.  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: ''
typeTipo de Elemento en cuestión.  Obligatorio, debe existir previamente.
validFromValida desde.  Opcional, si se deja vacío se generara acorde al tipo de elemento. El formato es "YYYY-MM-DD"
validToValida Hasta.  Opcional, ídem anterior. El formato es "YYYY-MM-DD"
amountMonto asociado a la operación. Requerido
customerIdCódigo de cliente asociado.  Valor por defecto: ''". Opcional
cvvCVV asociado.  Valor por defecto: ''".  Opcional
reasonMotivo de la operación.  Generalmente se utiliza en los cambios de saldo. Opcional.
stroreCodeTienda donde se realizó la transacción. Opcional (A partir de 7.2.6). Opcional.
terminalCodeTerminal donde se realizó la transacción. Opcional (A partir de 7.2.6). Opcional.


Aviso
titleImportante

A partir de Promo 7.2.6 se puede agregar a la mensajeria el storeCode y el terminalCode 

Bloco de código
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [],
    "items": [
        { "operation": "ACTIVATION", "code": "6000000010", "type": "15", "validFrom":"2023-08-11", "validTo":"2023-08-11", "amount":"100", "customerId":"12", "cvv":"", "reason":"", storeCode:"3", terminalCode:"1" }
    ]
}


Los cuales se detallarán en la consola en: Gestión de Elementos de Fidelidad, en el botón "acciones" /"ver"


Los valores posibles del campo operation son:

ValorDescripción
ACTIVATIONActivación del elemento con código "code".
AMOUNT_UPDATEActualización de saldo. Sumará o restará el valor según lo enviado en el Json de la operación.
RECHARGERecarga
CHARGE

Carga Inicial. Esta operación se utiliza exclusivamente cuando se activa una tarjeta con saldo, porque realiza la carga inicial activándola y cargándole el saldo.

Nota: si activa la tarjeta sin saldo inicial, al realizar la primer carga esa operación es recharge.

CONSUMEConsumo
CANCELDesactivar el elemento en cuestión


Informações
titleIMPORTANTE

Este servicio no permite crear mas de una tarjeta activa para un mismo cliente (sin importar si está o no asociada a un convenio). Esto se controla con la variable: "oneActiveCardByCustomer", que por default es TRUE.

Bloco de código
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [],
    "items": [
        { "operation": "ACTIVATION", "code": "4100000003", "type": "12", "validFrom":"2023-08-11", "validTo":"2023-08-11", "amount":"100", "customerId":"3", "cvv":"", "reason":""  }
    ]
}


Bloco de código
languagexml
themeEmacs
titleResponse
{
    "status": "400",
    "description": "rest::cardAdmin",
    "detail": {
        "result": "error",
        "detail": "El cliente ya posee un elemento de fidelidad activo"
    }
}




Expandir
titleEjemplo

Ejemplo de Envío de registro. 

En este caso se envían las siguientes tarjetas:

  1. solicitar crear una tarjeta "3000000002", de tipo 8, con saldo de 100.
  2. solicitar crear una tarjeta "3200000002", de tipo 9, con saldo de 700.
  3. solicitar crear una tarjeta "3500000002", de tipo 10, con saldo de 50.
  4. solicitar crear una tarjeta "3700000002", de tipo 11, con saldo de 700.
  5. solicitar crear una tarjeta "4100000002", de tipo 12, con saldo de 3500.
  6. solicitar crear una tarjeta "4200000002", de tipo 13, con saldo de 150.
  7. solicitar crear una tarjeta "4200000002", de tipo 14, con saldo de 150.


Bloco de código
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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
languagexml
themeEmacs
titleRequest
{
    "companyId": "2",
    "params": [{"oneActiveCardByCustomer":"false", "validatedCard":"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
languagexml
themeEmacs
titleResponse
{
    "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

CampoDescripciónTipo de Dato

status

código de respuesta

200 indica que ha sido procesada correctamente.
description

Descripción general

Fijo "rest::cardAdmin'
transaction IdId de la transaccionstring. A partir de 7.2.6
detailDetalle del procesoarray
detail.resultResultado general del procesook indicando proceso realizado
detail.detailMensaje detallado respecto al procesovacío en el caso de ok
detail.updatedcantidad de ítems actualizadosinteger
detail.ignoredcantidad de ítems ignoradosinteger
detail.insertedcantidad de ítems agregadosinteger
detail.removedcantidad de ítems removidosinteger
detail.errorscantidad de ítems erróneosinteger
detail.processedcantidad de ítems procesadosinteger
detail.errorDetailsDetalle 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 - Motor 7.2,

info: mensaje informativo del error, puede devolver NULL.

detail.successDetailsDetalle de cada registro procesado correctamente

rec: Numero de registro en la solicitud

code: código del elemento.

amount: carga del elemento de fidelidad


...

Expandir
titleSolicitud

El formato general de solicitud es:

Bloco de código
languageyml
themeEmacs
{
 "companyId": "myCompanyId",
"params":[      
	{"param1":"param1value", "paramN":"paramNvalue", ...}
],
"items": [
{.... primer item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
{.... otro item .......},
]
}

donde

CampoDescripciónTipo de Dato

companyId

  • código de Empresa
alfanumérico. Requerido
paramsPará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

itemsRegistros a importarColección de cupones y su operación asociada.


El formato de los ítems es el siguiente:

  
CampoDescripción
operationOperación a realizar sobre el registro.  Ver tabla siguiente
barcodeCó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: ''
emailCorreo electrónico destino para cupones de tipo electrónico.  Opcional.  Valor por defecto: ""
typeTipo de Cupón. Obligatorio, debe existir previamente.
amountMonto asociado a la operación.
customerIdCódigo de cliente asociado.  Valor por defecto: ''
storeCodeTienda donde se realizó la transacción. Opcional (A partir de 7.2.6). 
terminalCodeTerminal donde se realizó la transacción. Opcional (A partir de 7.2.6).


Los valores posibles del campo operation son:

ValorDescripción
CREATEEmitir/Crear el cupón informado.
REDEEMRedención
VOIDDesactivar
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 realizar.

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.



Expandir
titleEjemplo

Ejemplo de Envío de registro.  En este caso se envían los siguientes cupones: 

  1. Se solicitar crear el cupón 1050000018 con valor de 1000.
  2. Se solicita redimir el cupón 1050000018 con valor de 300.
  3. Se solicita anular el cupón 1050000019.


Bloco de código
languageyml
themeEmacs
{
    "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
languagexml
themeEmacs
titleResponse
{
    "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"
            }
        ]
    }
}

donde

CampoDescripciónTipo 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)
detailDetalle del procesoarray
detail.resultResultado general del procesook indicando proceso realizado
detail.detailMensaje detallado respecto al procesovacío en el caso de ok
detail.updatedcantidad de ítems actualizadosinteger
detail.ignoredcantidad de ítems ignoradosinteger
detail.insertedcantidad de ítems agregadosinteger
detail.removedcantidad de ítems removidosinteger
detail.errorscantidad de ítems erróneosinteger
detail.processedcantidad de ítems procesadosinteger
detail.errorDetailsDetalle 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.successDetailsDetalle de cada registro procesado correctamente

rec: Numero de registro en la solicitud

code: código de cupón



...