Creación y actualización de sucursales

Conoce cómo realizar la integración para crear o actualizar la información de las sucursales de tu compañía.

A través de la configuración de los endpoints de creación y actualización de sucursales podrás gestionar y administrar la información de tus sucursales de manera específica, individual y centralizada. No es necesario que realices el proceso para cada sucursal; la integración de estos endpoints te permite configurar hasta 500 sucursales en un único requerimiento.

El flujo que integrarás es el siguiente:

Proceso de integración back-end

1. Solicitud de credenciales

Es necesario que contactes al ejecutivo de ventas asociado a tu comercio para obtener las credenciales para integrar este servicio.

Recibirás un correo electrónico con el usuario y contraseña para que comiences la integración de esta funcionalidad.

Correo electrónico solicitud de credenciales

2. Generación del token

En este paso es fundamental recoger la información del usuario y contraseña asignados de una manera segura y tokenizar esta información, deberás realizar una llamada a nuestro endpoint de tokenización.

  • Javascript
  • Python
  • PHP
const url = 'https://api-uat.kushkipagos.com/automation/v1/token';
const options = {
method: 'GET',
headers: {USERNAME: 'test', PASSWORD: '6558868', Accept: 'application/json'}
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
import requests
url = "https://api-uat.kushkipagos.com/automation/v1/token"
headers = {
"USERNAME": "test",
"PASSWORD": "6558868",
"Accept": "application/json"
}
response = requests.get(url, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-uat.kushkipagos.com/automation/v1/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"PASSWORD: 6558868",
"USERNAME: test"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}

3. Creación de sucursales

Ahora es necesario utilizar el token obtenido para iniciar el proceso de creación de sucursales. Con este token, deberás realizar una llamada a nuestro endpoint de creación de sucursales. endpoint de creación de credenciales.

  • Javascript
  • Python
  • PHP
const url = 'https://api-uat.kushkipagos.com/automation/v1/branches';
const options = {
method: 'POST',
headers: {
'Authorization ': '',
'Content-Type': 'application/json',
Accept: 'application/json, application/xml'
},
body: '{"clientType":"KUSHKI MUNDIAL","reportingDate":"01-May-2023","pspTaxId":"20552103816","pspName":"SAC DE TRAUMA","pspCustomerId":"00010040103416507045","pspNotificationEmail":["user@example.com","user2@domain.com"],"branches":[{"currency":"MXN","countryTaxResidency":"MEX","name":"Comercio Eli","companyRegistrationNumber":"484","pspUserEmail":"user@example.com","taxId":"0202020","legalName":"My company","legalEntityType":"Entity example","mcc":1231,"legalRepresentative":[{"firstName":"John","lastName":"Doe","idNumber":"1234","birthDate":"02-May-1990","residencyCountry":"MEX"}],"shareholder":[{"firstName":"John","lastName":"Doe","idNumber":"1234","birthDate":"02-May-1990","residencyCountry":"MEX"}],"AMLRiskCategory":"M","settlementBankCountry":"MEX","settlementBankName":"BBVA","regulatedBusiness":"Y","concurrenceNeeded":"N","url":"https://kushki.com"}]}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
import requests
url = "https://api-uat.kushkipagos.com/automation/v1/branches"
payload = {
"clientType": "KUSHKI MUNDIAL",
"reportingDate": "01-May-2023",
"pspTaxId": "20552103816",
"pspName": "SAC DE TRAUMA",
"pspCustomerId": "00010040103416507045",
"pspNotificationEmail": ["user@example.com", "user2@domain.com"],
"branches": [
{
"currency": "MXN",
"countryTaxResidency": "MEX",
"name": "Comercio Eli",
"companyRegistrationNumber": "484",
"pspUserEmail": "user@example.com",
"taxId": "0202020",
"legalName": "My company",
"legalEntityType": "Entity example",
"mcc": 1231,
"legalRepresentative": [
{
"firstName": "John",
"lastName": "Doe",
"idNumber": "1234",
"birthDate": "02-May-1990",
"residencyCountry": "MEX"
}
],
"shareholder": [
{
"firstName": "John",
"lastName": "Doe",
"idNumber": "1234",
"birthDate": "02-May-1990",
"residencyCountry": "MEX"
}
],
"AMLRiskCategory": "M",
"settlementBankCountry": "MEX",
"settlementBankName": "BBVA",
"regulatedBusiness": "Y",
"concurrenceNeeded": "N",
"url": "https://kushki.com"
}
]
}
headers = {
"Authorization ": "",
"Content-Type": "application/json",
"Accept": "application/json, application/xml"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-uat.kushkipagos.com/automation/v1/branches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'clientType' => 'KUSHKI MUNDIAL',
'reportingDate' => '01-May-2023',
'pspTaxId' => '20552103816',
'pspName' => 'SAC DE TRAUMA',
'pspCustomerId' => '00010040103416507045',
'pspNotificationEmail' => [
'user@example.com',
'user2@domain.com'
],
'branches' => [
[
'currency' => 'MXN',
'countryTaxResidency' => 'MEX',
'name' => 'Comercio Eli',
'companyRegistrationNumber' => '484',
'pspUserEmail' => 'user@example.com',
'taxId' => '0202020',
'legalName' => 'My company',
'legalEntityType' => 'Entity example',
'mcc' => 1231,
'legalRepresentative' => [
[
'firstName' => 'John',
'lastName' => 'Doe',
'idNumber' => '1234',
'birthDate' => '02-May-1990',
'residencyCountry' => 'MEX'
]
],
'shareholder' => [
[
'firstName' => 'John',
'lastName' => 'Doe',
'idNumber' => '1234',
'birthDate' => '02-May-1990',
'residencyCountry' => 'MEX'
]
],
'AMLRiskCategory' => 'M',
'settlementBankCountry' => 'MEX',
'settlementBankName' => 'BBVA',
'regulatedBusiness' => 'Y',
'concurrenceNeeded' => 'N',
'url' => 'https://kushki.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json, application/xml",
"Authorization : ",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}

La respuesta te confirmará que tu petición se encuentra en proceso y serás notificado en cuanto las sucursales sean creadas. El sistema mostrará el siguiente mensaje:

Branch office creation confirmation

4. Actualización de sucursales (opcional)

Podrás utilizar el token generado para activar, desactivar o modificar la información previamente configurada en la creación de las sucursales de tu compañía. Para hacerlo, podrás realizar el mismo proceso realizado en la creación de sucursales.

Ahora es necesario utilizar el token obtenido para actualizar la información de las sucursales creadas. Con este token, deberás realizar una llamada a nuestro endpoint de actualización de sucursales endpoint de actualización de credenciales.

  • Javascript
  • Python
  • PHP
const url = 'https://api-uat.kushkipagos.com/automation/v1/branches';
const options = {
method: 'PATCH',
headers: {
Authorization: '',
'Content-Type': 'application/json',
Accept: 'application/json'
},
body: '{"reportingDate":"19-May-1977","pspTaxId":"20552103816","pspName":"SAC DE TRAUMA","pspCustomerId":"00010040103416507045","pspNotificationEmail":["user@example.com","user1@domain.com"],"branches":[{"branchId":"20000000107724194000","currency":"COP","name":"Comercio UIO","companyRegistrationNumber":"92929","legalName":"legal name","pspUserEmail":"user@example.com","legalEntityType":"entity","mcc":1231,"legalRepresentative":[{"firstName":"José","lastName":"Ramirez","idNumber":"1123904949292","birthDate":"02-May-2022","residencyCountry":"COL"}],"shareholder":[{"firstName":"Lucio","lastName":"Gutierrez","idNumber":"1721333446567","birthDate":"30-May-2022","residencyCountry":"ECU "}],"AMLRiskCategory":"H","settlementBankCountry":"RUS","settlementBankName":"stl bank name","regulatedBusiness":"Y","concurrenceNeeded":"Y","url":"google.com"}]}'
};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
import requests
url = "https://api-uat.kushkipagos.com/automation/v1/branches"
payload = {
"reportingDate": "19-May-1977",
"pspTaxId": "20552103816",
"pspName": "SAC DE TRAUMA",
"pspCustomerId": "00010040103416507045",
"pspNotificationEmail": ["user@example.com", "user1@domain.com"],
"branches": [
{
"branchId": "20000000107724194000",
"currency": "COP",
"name": "Comercio UIO",
"companyRegistrationNumber": "92929",
"legalName": "legal name",
"pspUserEmail": "user@example.com",
"legalEntityType": "entity",
"mcc": 1231,
"legalRepresentative": [
{
"firstName": "José",
"lastName": "Ramirez",
"idNumber": "1123904949292",
"birthDate": "02-May-2022",
"residencyCountry": "COL"
}
],
"shareholder": [
{
"firstName": "Lucio",
"lastName": "Gutierrez",
"idNumber": "1721333446567",
"birthDate": "30-May-2022",
"residencyCountry": "ECU "
}
],
"AMLRiskCategory": "H",
"settlementBankCountry": "RUS",
"settlementBankName": "stl bank name",
"regulatedBusiness": "Y",
"concurrenceNeeded": "Y",
"url": "google.com"
}
]
}
headers = {
"Authorization": "",
"Content-Type": "application/json",
"Accept": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api-uat.kushkipagos.com/automation/v1/branches",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'reportingDate' => '19-May-1977',
'pspTaxId' => '20552103816',
'pspName' => 'SAC DE TRAUMA',
'pspCustomerId' => '00010040103416507045',
'pspNotificationEmail' => [
'user@example.com',
'user1@domain.com'
],
'branches' => [
[
'branchId' => '20000000107724194000',
'currency' => 'COP',
'name' => 'Comercio UIO',
'companyRegistrationNumber' => '92929',
'legalName' => 'legal name',
'pspUserEmail' => 'user@example.com',
'legalEntityType' => 'entity',
'mcc' => 1231,
'legalRepresentative' => [
[
'firstName' => 'José',
'lastName' => 'Ramirez',
'idNumber' => '1123904949292',
'birthDate' => '02-May-2022',
'residencyCountry' => 'COL'
]
],
'shareholder' => [
[
'firstName' => 'Lucio',
'lastName' => 'Gutierrez',
'idNumber' => '1721333446567',
'birthDate' => '30-May-2022',
'residencyCountry' => 'ECU '
]
],
'AMLRiskCategory' => 'H',
'settlementBankCountry' => 'RUS',
'settlementBankName' => 'stl bank name',
'regulatedBusiness' => 'Y',
'concurrenceNeeded' => 'Y',
'url' => 'google.com'
]
]
]),
CURLOPT_HTTPHEADER => [
"Accept: application/json",
"Authorization: ",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}

La respuesta te confirmará que tu petición se encuentra en proceso y serás notificado en cuanto las actualizaciones en las sucursales solicitadas se hayan completado. El sistema mostrará el siguiente mensaje:

Confirmación de actualización de credenciales

5. Validación y notificación de respuesta a la solicitud

Al recibir una solicitud de creación o actualización de las sucursales de tu compañía, el equipo de Kushki realizará una validación de la información recibida; con el fin de aprobar o rechazar la solicitud.

  • Para que puedas conocer el resultado de la solicitud que realizaste, te enviaremos un correo electrónico indicando si este requerimiento fue aprobado o rechazado. Esta información será enviada en un lapso de respuesta de 24 horas. En algunos casos eventuales, el tiempo de respuesta puede ser mayor al periodo de tiempo mencionado previamente.

  • En el correo electrónico incluiremos un archivo resumen, el cual podrá ser visualizado con un vencimiento de 7 días. En este documento se incluyen el total de registros pendientes.

En esta información aparecerán los siguientes valores:

  • In process from the investigation
  • Pending from PSP
  • Pending

Correo electrónico notificación

Recomendaciones adicionales

Recuerda revisar los manuales disponibles en la plataforma de referencia de la API; información especialmente creada para tu equipo de desarrollo:

  1. Manual de configuración de la API de sucursales con la información para que tu equipo de desarrollo pueda realizar la integración.
    a. Generación del token.
    b. Creación de las sucursales.

    c. Actualización de las sucursales.