API Recargas API Reference
La API de recargas de Multicaja es la que usan sus diferentes productos digitales para realizar recargas a través del Switch Transaccional de Multicaja.
Autenticación
Todos los requerimientos son autenticados usando un
api-key incluido en el header x-api-key
o apikey
.
Errores
La API usa códigos HTTP estándares para indicar el éxito o fracaso de un requerimiento. El cuerpo del mensaje es json
con el siguiente formato:
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'origin'",
"path": "/recharges/v1/check",
"timestamp": "2018-08-02T14:56:37.427"
}
API Endpoint
https://api.multicaja.cl/recharges/v1
Request Content-Types: application/json
Response Content-Types: application/json
Schemes: https
Version: 1.0.0
Paths
Obtener productos
Obtiene un listado de productos de recarga agrupados por operador
OK
Server Error
Response Example (200 OK)
[
{
"id": 1,
"order": 1,
"code": "movistar",
"name": "Movistar",
"products": [
{
"id": 1,
"type": {
"id": 1,
"code": "bam",
"name": "Banda Ancha Móvil",
"order": 1
},
"amount": {
"min": 750,
"max": 25000,
"multi": [
[
750,
1000,
2000
]
]
},
"suscriptor": "numero"
}
]
}
]
Response Example (500 Internal Server Error)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Verificar factibilidad
Verificación de factibilidad de una recarga
Datos de la recarga
Request Example
{
"origin": "RECARGACL",
"stan": 1,
"product_id": 1,
"amount": 1500,
"suscriptor": 995168137,
"commerce_id": 325,
"branch_id": 325,
"terminal_id": 317
}
OK
Alguno de los campos requeridos no viene o es inválido
Server Error
Error al comunicarse con el Switch Multicaja
Timeout al comunicarse con el Switch Multicaja
Response Example (200 OK)
{
"response_code": "01",
"response_message": "TRANSACCION APROBADA",
"transaction_id": 795547062,
"authorization_id": "700000612259",
"created_at": "2018-03-16T16:38:31.28571",
"recharge": {
"suscriptor": "988598372",
"amount": 1500,
"operator": "Movistar",
"type": "Telefonía Móvil"
}
}
Response Example (400 Bad Request)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (500 Internal Server Error)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (502 Bad Gateway)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (504 Gateway Timeout)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Realizar recargar
Realiza una recarga con cargo al comercio informado
Datos de la recarga
Request Example
{
"origin": "RECARGACL",
"stan": 1,
"product_id": 1,
"amount": 1500,
"suscriptor": 995168137,
"check_transaction_id": 795547062,
"commerce_id": 325,
"branch_id": 325,
"terminal_id": 317
}
OK
Alguno de los campos requeridos no viene o es inválido
Server Error
Error al comunicarse con el Switch Multicaja
Timeout al comunicarse con el Switch Multicaja
Response Example (200 OK)
{
"response_code": "01",
"response_message": "TRANSACCION APROBADA",
"transaction_id": 795547062,
"transaction_status": "APROBADA",
"authorization_id": "700000612259",
"created_at": "2018-03-16T16:38:31.28571"
}
Response Example (400 Bad Request)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (500 Internal Server Error)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (502 Bad Gateway)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Response Example (504 Gateway Timeout)
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}
Schema Definitions
Products: array
Example
[
{
"id": 1,
"order": 1,
"code": "movistar",
"name": "Movistar",
"products": [
{
"id": 1,
"type": {
"id": 1,
"code": "bam",
"name": "Banda Ancha Móvil",
"order": 1
},
"amount": {
"min": 750,
"max": 25000,
"multi": [
[
750,
1000,
2000
]
]
},
"suscriptor": "numero"
}
]
}
]
Operator: object
Datos del operador
Example
{
"id": 1,
"order": 1,
"code": "movistar",
"name": "Movistar",
"products": [
{
"id": 1,
"type": {
"id": 1,
"code": "bam",
"name": "Banda Ancha Móvil",
"order": 1
},
"amount": {
"min": 750,
"max": 25000,
"multi": [
[
750,
1000,
2000
]
]
},
"suscriptor": "numero"
}
]
}
Product: object
Datos del producto
Example
{
"id": 1,
"type": {
"id": 1,
"code": "bam",
"name": "Banda Ancha Móvil",
"order": 1
},
"amount": {
"min": 750,
"max": 25000,
"multi": [
[
750,
1000,
2000
]
]
},
"suscriptor": "numero"
}
Type: object
Tipo de producto
- id: integer (int64)
-
Identificador del tipo de producto
- code: string
-
Código interno del tipo de producto
- name: string
-
Nombre público del tipo de producto
- order: integer (int32)
-
Orden de aparición
Example
{
"id": 1,
"code": "bam",
"name": "Banda Ancha Móvil",
"order": 1
}
Amount: object
Datos de los montos aceptados.
Ignorar los valores min
y max
si el valor multi
es distinto de null
- min: integer (int64)
-
Monto mínimo aceptado
- max: integer (int64)
-
Monto máximo aceptado
- multi: integer[]
-
Montos fijos aceptados
-
integer (int64)
Example
{
"min": 750,
"max": 25000,
"multi": [
[
750,
1000,
2000
]
]
}
Recharge: object
Datos de la recarga
- suscriptor: string
-
Número identificador de la recarga
- amount: integer (int64)
-
Monto de la recarga
- operator: string
-
Nombre del operador
- type: string
-
Nombre del producto
Example
{
"suscriptor": "988598372",
"amount": 1500,
"operator": "Movistar",
"type": "Telefonía Móvil"
}
CheckRequest: object
- origin: string
-
Texto que identifica la plataforma que está haciendo la recarga, es requerido por el Switch de Multicaja como dato de control
- stan: integer (int32)
-
Identificador secuencial de la transacción, largo máximo 6 dígitos
- product_id: integer (int64)
-
Identificador del producto a recargar
- amount: integer (int64)
-
Monto a recargar
- suscriptor: string
-
Número identificador de la recarga, dependiendo del producto puede ser un rut o un número de teléfono
- commerce_id: integer (int64)
-
Identificador del comercio
- branch_id: integer (int64)
-
Identificador de la sucursal
- terminal_id: integer (int64)
-
Identificador del terminal
Example
{
"origin": "RECARGACL",
"stan": 1,
"product_id": 1,
"amount": 1500,
"suscriptor": 995168137,
"commerce_id": 325,
"branch_id": 325,
"terminal_id": 317
}
CheckResponse: object
- response_code: string
-
Código de resultado de la transacción enviada al Switch Multicaja
- response_message: string
-
Mensaje de respuesta del Switch Multicaja
- transaction_id: integer (int64)
-
Identificador de la transacción
- authorization_id: string
-
Código de autorización de la transacción
- created_at: string (date-time)
-
Fecha y hora de la transacción
- recharge: Recharge
Example
{
"response_code": "01",
"response_message": "TRANSACCION APROBADA",
"transaction_id": 795547062,
"authorization_id": "700000612259",
"created_at": "2018-03-16T16:38:31.28571",
"recharge": {
"suscriptor": "988598372",
"amount": 1500,
"operator": "Movistar",
"type": "Telefonía Móvil"
}
}
RechargeRequest: object
- origin: string
-
Texto que identifica la plataforma que está haciendo la recarga, es requerido por el Switch de Multicaja como dato de control
- stan: integer (int32)
-
Identificador secuencial de la transacción, largo máximo 6 dígitos
- product_id: integer (int64)
-
Identificador del producto a recargar
- amount: integer (int64)
-
Monto a recargar
- suscriptor: string
-
Número identificador de la recarga, dependiendo del producto puede ser un rut o un número de teléfono
- check_transaction_id: integer (int64)
-
Identificador de la transacción de verificación de factibilidad
- commerce_id: integer (int64)
-
Identificador del comercio
- branch_id: integer (int64)
-
Identificador de la sucursal
- terminal_id: integer (int64)
-
Identificador del terminal
Example
{
"origin": "RECARGACL",
"stan": 1,
"product_id": 1,
"amount": 1500,
"suscriptor": 995168137,
"check_transaction_id": 795547062,
"commerce_id": 325,
"branch_id": 325,
"terminal_id": 317
}
RechargeResponse: object
- response_code: string
-
Código de resultado de la transacción enviada al Switch Multicaja
- response_message: string
-
Mensaje de respuesta del Switch Multicaja
- transaction_id: integer (int64)
-
Identificador de la transacción
- transaction_status: string
-
Estado de la transacción recién generada
- authorization_id: string
-
Código de autorización de la transacción
- created_at: string (date-time)
-
Fecha y hora de la transacción
Example
{
"response_code": "01",
"response_message": "TRANSACCION APROBADA",
"transaction_id": 795547062,
"transaction_status": "APROBADA",
"authorization_id": "700000612259",
"created_at": "2018-03-16T16:38:31.28571"
}
ErrorResponse: object
- status: integer (int32)
-
Código HTTP
- error: string
-
Nombre del código HTTP
- message: string
-
Descripción del error
- path: string
-
Url de la solicitud http
- timestamp: string (date-time)
-
Fecha y hora del error
Example
{
"status": 400,
"error": "Bad Request",
"message": "Invalid property 'amount'.",
"path": "/recharges/check",
"timestamp": "2018-03-16T16:38:31.28571"
}