➕ Importar QR (hasta 100.000 ítems)

Permite generar hasta 100.000 códigos QR el cual almacena la información enviada para que luego pueda estar disponible para escanear.

GET / bucket-url

REQUEST

HEADERS

Content-Tipeapplication/json
El tipo MIME del contenido del cuerpo enviado. Por defecto JSON es Unicode UTF-8. No se debe configurar otro charset.
AuthorizationBearer •••••••
Puede consultar la sección API Key para más información.

PASO 1 - Obtener URL del bucket

GET Importar QR

https://api.sandbox.pagos360.com/bucket-url

Example Request

JSON
Copy

📨 Respuesta

Se pudo obtener la URL del bucket para poder importar el lote de QRs

JSON
Copy

PASO 2 - Put request al bucket

Una vez obtenida la URL del bucket (la cual expira al pasar 1 minuto), se realiza una request de tipo PUT a la url del bucket. Se debe mantener el orden de los campos, “webhook_url” primero, seguido de “total_ count” y por último “data”. “total_count” puede ser de hasta 100000, y tiene que coincidir con la cantidad de entradas en “data”. La respuesta que se debería esperar, es un status code 200 y sin body.

POST /{{bucket_url}}

AtributoTipoRequeridoDescripción
webhook_urlStringSiUrl del webhook donde se enviará el resultado del batch.
total_countIntegerSiCantidad de QR que va a tener el lote.
dataArray[objects]SiLista de objetos donde se deben listar los QR a crear. La cantidad debe coincidir con total_count.

Atributos del objeto data

AtributoTipoRequeridoTamañoDescripcion
idStringSi25ID único conformado por el ID de la Cuenta - uuid.
qr_typeStringNo15

Indica el tipo de QR, por defecto es dinámico.

Opciones: “static_closed_amount” , “dynamic_closed_amount”

qr_nameStringNo

Min:1

Max:15

Permite identificar la imagen de un QR estático. Si bien este valor no es requerido es de carácter obligatorio enviarlo cuando el tipo de QR es estático.
cityStringSi15Nombre de la ciudad de la Cuenta.
multiple_paymentBoolSiPermitir que un QR pueda ser pagado muchas veces
external_referenceStringNo255Referencia externa del pago.
descriptionStringSi

Min: 2

Max: 500

Descripción del pago.
first_totalDecimalSi

min: 10

max: 99999999.99

Monto del primer vencimiento.
first_due_dateStringSi

Fecha de primer vencimiento.

Formato: dd-mm-yyyy

payer_nameStringSi255Nombre del pagador.
payer_emailStringNo255Email del pagador.
postcal_codeStringSi8Codigo postal del comercio
free_tierBoolNoIndica si la cuenta es free_tier
second_totalDecimalNo

min: 10

max: 99999999.99

Monto del segundo vencimiento
second_due_dateStringNo

Fecha del segundo vencimiento

Formato: dd-mm-yyyy

Al terminar correctamente este PUT, empezamos a procesar los QR que se incluyeron en la request. Luego de entre 30 segundos y 5 minutos enviamos un webhook a la url que se incluyó, en el mismo en “type” devolvemos el resultado del proceso y dentro de “payload”, dentro de “id” mandamos el id del batch-result en caso de haber un rechazo parcial.

Example Request

JSON
Copy

Response

Status 200:

NULL

Nota: La anterior es la respuesta que se debería esperar, una response con status code 200 y sin body.

Status 403:

JSON
Copy

Ejemplo del webhook

JSON
Copy

PASO 3 (opcional) - Obtener resultado del batch

En la respuesta, dentro de “message”, dentro de “data”, devolvemos una lista de strings con los errores de cada QR, en el string se encuentra el id del QR seguido de un “;” y su error correspondiente, por cada error.

GET /batch-result/{{id}}/{{page}}

*Path Parameter *

AtributoTipoRequeridoDescripción
pageStringSiNúmero de página.
idStringSiID de la transacción

Responses:

Se visualiza el listado de los QRs que no fueron importados por errores.

JSON
Copy

El endpoint requiere el id del lote de QRs y el número de páginas.

JSON
Copy

Tabla de errores

CodeDescripción
E0ID duplicado
E1Campo ‘id’ incorrecto
E2Campo ‘multiple_payment’ incorrecto
E3Campo ‘free_tier’ incorrecto
E4Campo ‘category’ incorrecto
E5Campo ‘description’ incorrecto
E6Campo ‘payer_name’ incorrecto
E7Campo ‘payer_email’ incorrecto
E8Campo ‘external_reference’ incorrecto
E9Campo ‘city’ incorrecto
E10Campo ‘first_total’ incorrecto
E11Campo ‘first_due_date’ incorrecto
E12Campo ‘second_total’ incorrecto
E13Campo ‘second_due_date’ incorrecto
E14Campo ‘postal_code’ incorrecto
E15Error inesperado

Códigos de respuestas:

CódigoRespuesta JSONDescripción
F001

[

{

"code": "F001",

"qr_id": "454133B2-F234492",

"message": "'"

}

]

Este código de error se puede dar cuando se elimina en lote, edita en lote y cuando se crea en lote los QRs. Sirve para especificar el qr_id que falló y su motivo. Ejemplo:

[

{

"code": "F001",

"qr_id": "454133B2-F234491",

"message": "city must not be empty." //El nombre de la ciudad no debe ser nulla

}

]

F002

[

{

"code": "F002",

"qr_id": "454133B2-F234492",

"message": "The qr_id already exists'"

}

]

Se da este código de error cuando se intenta crear un QR con un qr_id que ya existe.
F004

[

{

"code": "F004",

"qr_id": "454133B2-F234492",

"message": "The qr_id is not valid.'"

}

]

Este código de error se da cuando el formato del qr_id es invalido, por ende, a la hora de buscarlo en nuestra base de datos, no existe. Aparece cuando se edita en lote, elimina, edita y se consulta el estado de un QR.
F005

[

{

"code": "F005",

"qr_id": "454133B2-F234492",

"message": "The qr_id is not valid, status must be equals to 'Pending'"

}

]

Este código de error se da cuando se intenta editar, eliminar y editar en lote QRs que no se encuentran en estado "Pendiente"
Q001

[

{

"code": "Q001",

"message": "The total_count value is incorrect."

}

]

Se utiliza este código de error cuando no coincide el valor del atributo "total_count" con la cantidad de QRs que existe en el "data". El mismo aparece para cuando se intenta editar, eliminar o crear en lote.
Q002

[

{

"code": "Q002",

"message": "Quantity exceeded. Must be less than 10000'"

}

]

Se utiliza este código de error cuando se excede la cantidad de 10.000 QRs para cuando se intenta editar, eliminar o crear en lote.
B001

[

{

"code": "B001",

"message": "'"

}

]

Cuando se edita en lotes o se crean QRs en lotes y el formato del JSON es invalido, se utiliza este código de error con el mensaje "The JSON is malformed". También es utilizado en el endpoint de consultar los resultados de los QRs "/batch-result/{{id}}/{{page}}" para informarnos si el body de la request tiene algún error. Ejemplo:

[

{

"code": "B001",

"message": [

"The id is required.",

"The page must be a number."

]

}

]

H001

[

{

"code": "H001",

"message": "Unauthorized"

}

]

Código de error utilizado en todos los endpoints y se utiliza para indicar que la apikey enviada en el header, es inválida porque no corresponde a la cuenta o no se está enviando.
H002

[

{

"code": "H002",

"message": "Created"

}

]

Este código es utilizado para indicar que se pudo crear correctamente los QRs en lote o que se pudo editar en lote sin ningún problema.
H004

[

{

"code": "H004",

"message": "Not Found'"

}

]

Código utilizado para el endpoint "/batch-result/{{id}}/{{page}}". Cuando obtenemos este código es porque los resultados que se busca consultar no corresponden a la cuenta o que no existe ningún resultado.
H003

[

{

"code": "H003",

"message": “Conflict"

}

]

Este código de error es utilizado para indicar que ocurrió un error interno. Actualmente se encuentra en todos los endpoints.
H005

[

{

"code": "H005",

"message": "Ok"

}

]

Este código es utilizado para indicar que se pudo eliminar, editar y eliminar en lotes de QR correctamente.
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard