🛠️Implementación Pre-registro de comercios
A continuación se describen los detalles técnicos necesarios para pre-registrar un comercio Payphone.
🔗Solicitudes POST
Para pre-registrar un comercio, debes realizar una solicitud POST a la siguiente URL:
https://pay.payphonetodoesposible.com/api/Companies/preregister
🔐Cabeceras Requeridas
Se debe incluir las siguientes cabeceras HTTP:
Authorization: bearer TU_TOKEN
(Token de autenticación de la aplicación, precedido por la palabra "Bearer". Este token es el mismo que utilizaste al preparar la transacción inicialmente).Content-type: application/json
(Formato de los datos: JSON).
📦 Cuerpo de la solicitud - Objeto JSON
La estructura del cuerpo de la solicitud debe ser la siguiente:
{
"companyCode": "0123456789001",
"tradeName": "Nombre de la empresa",
"email": "correo@mail.com",
"phoneNumber": "593994123456",
"cityId": 325,
"categoryId": 15,
"lat": -0.000117,
"lng": -79.3919262,
"documentId": "0123456789",
"name": "Elisabeth",
"lastName": "Sobeck"
}
📋Descripción de parámetros en la petición
Una vez la llamada es satisfactoria obtendrás un JSON con los siguientes parámetros:
Número de RUC o CI del establecimiento a pre-registrar. Debe cumplir con el formato para Ecuador.
Nombre del establecimiento
Correo electrónico del administrador del establecimiento
Número de teléfono del administrador de la empresa.
Código de ciudad del establecimiento. Puedes obtener del Listado de Ciudades
Código de la categoría obtenido en la consulta anterior.
Latitud de la ubicación de la empresa.
Longitud de la ubicación de la empresa.
Número de identificacion del administrador de la empresa.
Nombre del administrador de la empresa.
Apellido del administrador de la empresa.
📬 Respuesta a la solicitud POST
La respuesta será un JSON que indica:
Si el pre-registro fue exitoso: ✅
{
"successful": true,
"message": "Preregistro de la empresa completado exitosamente"
}
📋Descripción de parámetros de respuesta
- successful: Booleano que indica si el pre-registro fue exitoso.
- message: Mensaje que indica el resultado del preregistro.
Respuesta en caso de errores: ❌
{
"message": "Validaciones fallidas",
"errorCode": 800,
"errors": [
{
"message": "Ruc/Nit ya registrado",
"errorCode": 2007
}
]
}
📋Descripción de parámetros de error
- message: Cadena. Retorna el mensaje general de la llamada.
- errorCode: Código de error.
- errors: Arreglo con el catálogo de errores de la llamada.
🧱 Ejemplos de solicitudes POST para API Companies/preregister
A continuación, se presenta varios ejemplos de cómo realizar solicitudes POST:
<?php
//Funcion q ejecuta una solicitud http POST
function curlPost($urlAPI, $headers,$body) {
//Iniciar solicitud curl: POST
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $urlAPI);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $body);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$curl_response = curl_exec($curl);
//Finaliza solicitud curl: POST
curl_close($curl);
//Respuesta en formato JSON
return json_decode($curl_response);
}
/*## Preparar credenciales como variables para la solicitud ##*/
$token="your_token";
/*## Preparar informacion para la solicitud POST ##*/
//URL del servicio payphone
$url="https://pay.payphonetodoesposible.com/api/Companies/preregister";
//Cabecera para la solicitud
$headers[] = "Authorization: Bearer ".$token ;//CREDENCIALES DE CONFIGURACION
$headers[] = "Content-Type: application/json" ;//TIPO DE APLICACION
//Objeto JSON para solicitud
$data = array(
"companyCode" => "0123456789001",
"tradeName"=> "Nombre de la empresa",
"email"=> "correo@mail.com",
"phoneNumber"=> "593994123456",
"cityId"=> 325,
"categoryId"=> 15,
"lat"=> -0.000117,
"lng"=> -79.3919262,
"documentId"=> "0123456789",
"name"=> "Elisabeth",
"lastName"=> "Sobeck"
);
$bodyJSON = json_encode($data); //objeto de tipo JSON
//realizar solicitud http POST
$result=curlPost($url, $headers,$bodyJSON);
//Mostrar Resultado en Pantalla
echo "<h1>Solicitud POST con PHP</h1>";
echo "<a>POST: <strong>".$url."</strong></a><br><br>";
echo "Cuerpo Solicitud : <pre>".json_encode($data,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT )."</pre>";
echo "Respuesta : <pre>".json_encode($result,JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT )."</pre>";
?>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Solicitud POST con jQuery</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<h1>Solicitud POST con jQuery</h1>
<a>POST: <strong id="url"></strong></a><br><br>
<a><strong>Cuerpo: </strong></a><pre id="bodyJSON"></pre>
<a><strong>Respuesta : </strong></a><pre id="result"></pre>
<script>
/*## Preparar credenciales como variables para la solicitud ##*/
const token="your_token";
/*## Cabecera para solicitud ##*/
const headersAPI = {
"Content-Type": "application/json",
"Authorization": "Bearer "+token
};
/*## Objeto JSON para solicitud ##*/
const bodyJSON = {
"companyCode": "0123456789001",
"tradeName": "Nombre de la empresa",
"email": "correo@mail.com",
"phoneNumber": "593994123456",
"cityId": 325,
"categoryId": 15,
"lat": -0.000117,
"lng": -79.3919262,
"documentId": "0123456789",
"name": "Elisabeth",
"lastName": "Sobeck"
};
//URL del servicio payphone
const urlAPI = "https://pay.payphonetodoesposible.com/api/Companies/preregister";
/*## Mostrar Datos en Pantalla ##*/
document.getElementById("url").innerHTML=urlAPI;
document.getElementById("bodyJSON").innerHTML=JSON.stringify(bodyJSON, null, 2);
/*## Solicitud POST con Fetch ##*/
$(document).ready(function() {
$.ajax({
url: urlAPI,
type: "POST",
headers: headersAPI,
data: JSON.stringify(bodyJSON),
success: function(response) {
$("#result").html(
"Respuesta : <pre>" + JSON.stringify(response, null, 2) + "</pre>"
);
},
error: function(error) {
$("#result").html(
"Error en la solicitud : <pre>" + JSON.stringify(error, null, 2) + "</pre>"
);
}
});
});
</script>
</body>
</html>
<html lang="es">
<head>
<meta charset="utf-8">
<title>Solicitud POST con Fetch</title>
</head>
<body>
<h1>Solicitud POST con Fetch</h1>
<a>POST: <strong id="url"></strong></a><br><br>
<a><strong>Cuerpo: </strong></a><pre id="bodyJSON"></pre>
<a><strong>Respuesta : </strong></a>
<script>
/*## Preparar credenciales como variables para la solicitud ##*/
const token="your_token";
/*## Cabecera para solicitud ##*/
const headersAPI = {
"Content-Type": "application/json",
"Authorization": "Bearer "+token
};
/*## Objeto JSON para solicitud ##*/
const bodyJSON = {
"companyCode": "0123456789001",
"tradeName": "Nombre de la empresa",
"email": "correo@mail.com",
"phoneNumber": "593994123456",
"cityId": 325,
"categoryId": 15,
"lat": -0.000117,
"lng": -79.3919262,
"documentId": "0123456789",
"name": "Elisabeth",
"lastName": "Sobeck"
};
//URL del servicio payphone
const urlAPI = "https://pay.payphonetodoesposible.com/api/Companies/preregister";
/*## Mostrar Datos en Pantalla ##*/
document.getElementById("url").innerHTML=urlAPI;
document.getElementById("bodyJSON").innerHTML=JSON.stringify(bodyJSON, null, 2);
/*## Solicitud POST con Fetch ##*/
fetch(urlAPI, {
method: "POST",
headers: headersAPI,
body: JSON.stringify(bodyJSON)
})
.then((res) => res.json())
.catch((error) => {
const container = document.createElement("div");
const jsonResult = document.createElement("pre");
jsonResult.textContent = JSON.stringify(error, null, 2);
container.appendChild(jsonResult);
document.body.appendChild(container);
})
.then((data) => {
const container = document.createElement("div");
const jsonResult = document.createElement("pre");
jsonResult.textContent = JSON.stringify(data, null, 2);
container.appendChild(jsonResult);
document.body.appendChild(container);
});
</script>
</body>
</html>