VentaOTP
API de venta de bolsa tercera desde creación de código OTP. Se incluyen las operaciones:
- generarToken : generación de token de autenticación por BasicAuthentication. el token generado deberá ser enviado por header en cada petición del API ventaOTP
- crearOTP : creación de solicitud de transacción
- venta : cashout de cuenta tercera
- extorno : reversa de transacción ejecutada
Para el API se maneja el siguiente diccionario de error, código y mensaje de respuesta:
- 00 : EXITO
- 01 : BENEFICIARIO NO EXISTE
- 02 : BENEFICIARIO INHABILITADO
- 03 : NO TIENE SALDO SUFICIENTE
- 04 : CÓDIGO OTP NO EXISTE
- 05 : CÓDIGO OTP VENCIDO
- 06 : DATOS INCORRECTOS
- 07 : OPERACIÓN NO ENCONTRADA
- 08 : NO SE PUDO PROCEDER CON EL EXTORNO
Request headers
Usuario enviado por Basic Authentication para generación de token de seguridad
Contraseña enviada por Basic Authentication para generación de token de seguridad
Request body
La cadena de respuesta será el token de autenticación generado para uso en las operaciones del API VentaOTP
Examples
GET /generarToken HTTP/1.1
Username: usuario@dominio
Password: ************************
Content-Type: application/json
eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJldmVudF9pZCI6IjcxMGEwNWM0LWZhNjQtNDhjNC04NGM2LTM1ZTAzOWJmYWQ0MiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE1OTM0MDI5MzAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTU5MzQwNjUzMCwiaWF0IjoxNTkzNDAyOTMwLCJqdGkiOiJmNmE5ZjZhNS1hNWVlLTRhZWMtYmJhNi01NzIzMDg0MTgyYTciLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.au6punakIwLNcbbXELdvIptYZaYg8B8FC-KsYNvUUS6hXpiyOqnQAqLFu1ubCEwrc_5L_jqkWdivproYP-XnmLvRzzLMJcAbZ2WNx96p_BKW0Dyyuutx6Pvlg8bKTKGVGOtHUqjAYstPwYsUEWSeOuK1jJuhY601zwdNA5lKcEPbt_vGP57LF4YuOM4L6PNLIWEHB97fbm2wYDaxFYC_gLGmG6gvi6nWhzxloQ032DI5IZ0bFwAF31lcNNJKNSOaMaour_1-CDlFLHuf8B2ZEe7ZOB8nPspVxPD7MUxHLw7R3MXcUKsfWNBQooPqbGWe5AyRJs5jnsu3Kc8DmcC4gw
API para crear codigo OTP.
Request headers
Token de autenticación Oauth2
Request body
DNI del beneficiario
identificador único del comercio
nombre del comercio
monto de la transacción
número de referencia de la transacción. Formato: 12 caracteres numéricos, debe ser único por día
latitud de geolocalización
longitud de geolocalización
Responses
Body
código de mensaje de respuesta
descripción de mensaje de respuesta
DNI del beneficiario
nombres del beneficiario
apellidos del beneficiario
teléfono del beneficiario
Código de autorización OTP. Formato: max 100 caracteres alfanumérico
log Id de OTP. Formato: max 32 caracteres alfanumérico
Examples
POST /crearOTP HTTP/1.1
Content-Type: application/json
Authentication: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJldmVudF9pZCI6IjcxMGEwNWM0LWZhNjQtNDhjNC04NGM2LTM1ZTAzOWJmYWQ0MiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE1OTM0MDI5MzAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTU5MzQwNjUzMCwiaWF0IjoxNTkzNDAyOTMwLCJqdGkiOiJmNmE5ZjZhNS1hNWVlLTRhZWMtYmJhNi01NzIzMDg0MTgyYTciLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.au6punakIwLNcbbXELdvIptYZaYg8B8FC-KsYNvUUS6hXpiyOqnQAqLFu1ubCEwrc_5L_jqkWdivproYP-XnmLvRzzLMJcAbZ2WNx96p_BKW0Dyyuutx6Pvlg8bKTKGVGOtHUqjAYstPwYsUEWSeOuK1jJuhY601zwdNA5lKcEPbt_vGP57LF4YuOM4L6PNLIWEHB97fbm2wYDaxFYC_gLGmG6gvi6nWhzxloQ032DI5IZ0bFwAF31lcNNJKNSOaMaour_1-CDlFLHuf8B2ZEe7ZOB8nPspVxPD7MUxHLw7R3MXcUKsfWNBQooPqbGWe5AyRJs5jnsu3Kc8DmcC4gw
{
"dni": "87654321",
"codigoComercio": "987654321",
"nombreComercio": "Bodega Vendemás",
"monto": 100.15,
"rrn": "987654321654",
"latitud": "-12.45687",
"longitud": "-72.165645"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"codigoMensaje": "00",
"respuestaMensaje": "EXITO",
"beneficiario": {
"dni": "",
"nombres": "",
"apellidos": "",
"telefono": ""
},
"orden": {
"autorizacionOTP": "ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543ABC9876543",
"logidOtp": "ABC9876543ABC9876543ABC987654321"
}
}
API para ejecución de cash out por código OTP
Request headers
Token de autenticación Oauth2
Request body
DNi del beneficiario
identificador único del comercio
nombre del comercio
monto de la transacción
número de referencia de la transacción. Formato: 12 caracteres numéricos, debe ser único por día
código OTP enviado previamente a teléfono del beneficiario en la creación del OTP. Formato: numérico de 5 digitos
latitud de geolocalización
longitud de geolocalización
Log id del OTP, obtenido en solicitud de creación OTP. Formato: máx 32 caracteres alfanuméricos
MCC del comercio
Nombre del departamento de la dirección principal del comercio
Nombre de la provincia de la dirección principal del comercio
Nombre del distrito de la dirección principal del comercio
Responses
Body
código de respuesta
descripción de código de respuesta
DNI del beneficiario
nombres del beneficiario
apellidos del beneficiario
número de teléfono del beneficiario
id de la transacción generado por Niubiz. Formato: 15 caracteres numérico.
número de referencia de la transacción enviado en request
saldo restante actual del beneficiario
estado de la transacción
Examples
POST /venta HTTP/1.1
Content-Type: application/json
{
"dni": "87654321",
"codigoComercio": "987654321",
"nombreComercio": "Bodega Vendemás",
"monto": 100.15,
"rrn": "987654321654",
"otp": "54321",
"latitud": "-12.45687",
"longitud": "-72.165645",
"logidOtp": "ABC1237894ABC1237894ABC123789412",
"mcc": "5499",
"departamento":"Lima",
"provincia":"Lima",
"distrito":"Santa Anita"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"codigoMensaje": "00",
"respuestaMensaje": "EXITO",
"beneficiario": {
"dni": "87654321",
"nombres": "LUIS",
"apellidos": "PEREZ PEREZ",
"telefono": "987654321"
},
"orden": {
"idTransaccion": "987654321654987",
"rrn": "987654321654",
"saldo": "50.15",
"estado": "APROBADA"
}
}
API para extornar una operación
Request headers
Token de autenticación Oauth2
Request body
id de la transacción generado por Banco de la Nación. Formato: 20 caracteres numéricos
número de referencia de la transacción original a extornar
DNI del beneficiario
código OTP de la transacción original a extornar
monto de la transacción original a extornar
latitud de geolocalización
longitud de geolocalización
log Id de OTP enviado en solicitud de creación de OTP. Formato: max 32 caracteres alfanumérico
Responses
Body
código de respuesta
mensaje de respuesta
Examples
POST /extorno HTTP/1.1
Content-Type: application/json
Authentication: eyJraWQiOiJmWk1tV3pZR0RBckxHektvalNCK2w3SjFhMnNPXC9zQnNwOTlNNmNuM3F5MD0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJkMTlhM2I0Zi01NzYxLTRlYTEtYjBmYS1iNWNiNjU5OWQ5NWQiLCJldmVudF9pZCI6IjcxMGEwNWM0LWZhNjQtNDhjNC04NGM2LTM1ZTAzOWJmYWQ0MiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE1OTM0MDI5MzAsImlzcyI6Imh0dHBzOlwvXC9jb2duaXRvLWlkcC51cy1lYXN0LTEuYW1hem9uYXdzLmNvbVwvdXMtZWFzdC0xXzJjSjFTZTFmSSIsImV4cCI6MTU5MzQwNjUzMCwiaWF0IjoxNTkzNDAyOTMwLCJqdGkiOiJmNmE5ZjZhNS1hNWVlLTRhZWMtYmJhNi01NzIzMDg0MTgyYTciLCJjbGllbnRfaWQiOiIxMGx2MDYxN281ZGljNTFlYnNucWVpaWpiNyIsInVzZXJuYW1lIjoiZ2lhbmNhZ2FsbGFyZG9AZ21haWwuY29tIn0.au6punakIwLNcbbXELdvIptYZaYg8B8FC-KsYNvUUS6hXpiyOqnQAqLFu1ubCEwrc_5L_jqkWdivproYP-XnmLvRzzLMJcAbZ2WNx96p_BKW0Dyyuutx6Pvlg8bKTKGVGOtHUqjAYstPwYsUEWSeOuK1jJuhY601zwdNA5lKcEPbt_vGP57LF4YuOM4L6PNLIWEHB97fbm2wYDaxFYC_gLGmG6gvi6nWhzxloQ032DI5IZ0bFwAF31lcNNJKNSOaMaour_1-CDlFLHuf8B2ZEe7ZOB8nPspVxPD7MUxHLw7R3MXcUKsfWNBQooPqbGWe5AyRJs5jnsu3Kc8DmcC4gw
{
"idTransaccion": "98765432109876543210",
"rrn": "987654321654",
"dni": "87654321",
"otp": "987654321654",
"monto": 100.15,
"latitud": "-12.454684",
"longitud": "-12.454684",
"logidOtp": "ABC9876543ABC987654321"
}
HTTP/1.1 200 OK
Content-Type: application/json
{
"codigoMensaje": "00",
"respuestaMensaje": "EXITO"
}