Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Contenido
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
Contenido .................................................................................... 1
Histórico de versiones ................................................................ 3
Introducción ................................................................................ 4
Método de integración ................................................................ 5
personData .................................................................................. 6
Códigos Generales de Retorno .................................................. 8
Anexo verificación comunicación Gateway .............................. 9
Servicio /status ............................................................................ 9
Servicio / .................................................................................... 10
Anexo ejemplo práctico de implementación ........................... 10
PHP............................................................................................. 10
.NET ............................................................................................ 12
Workflow del proceso ................................................................. 5
2
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
Histórico de versiones
3
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
Introducción
4
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
Método de integración
A continuación, se detallan los métodos de integración correspondientes al paquete
de consumo III de SID, por el canal web.
Los parámetros subrayados son obligatorios.
El dominio a utilizar para consumir los servicios es el siguiente:
https://renaper.dnm.gob.ar/
La APIKey se debe enviar en el header del request, al igual que la URL del método,
de la siguiente manera:
$url="http://onboarding.renaper.prod.vusecurity.com:8080/vu-onboarding-
rest/information/personData";
$type="application/json";
$ch = curl_init($dominio);
5
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
personData
Este método permite la identificación del ciudadano con vigencia del documento.
La operación se realiza mediante un POST HTTPS y el servidor entrega mediante
context-type: application/json el resultado de la operación.
http://onboarding.renaper.prod.vusecurity.com:8080/vu-onboarding-
rest/information/personData
Parámetros de entrada:
number: número de documento de identidad del usuario
gender: género del usuario:
M: Masculino
F: Femenino
order: número de trámite del documento de identidad.
{
"number": "31680554",
6
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
"gender": "M",
"order": "23345655"
}
Parámetros de respuesta:
code: código de retorno de la llamada.
message: mensaje de descripción del código de retorno.
valid: string que representa la vigencia del documento. Los valores posibles de
retorno son “Vigente” o “No Vigente”.
person: datos obtenidos de la persona:
Estos datos son retornados, siempre y cuando el DNI sea vigente.
number: número de ID.
names: nombres de la persona obtenidos del ID.
lastNames: apellidos de la persona obtenidos del ID.
gender: género de la persona obtenido del ID.
birthdate: fecha de nacimiento obtenida del ID.
copy: ejemplar del documento.
expirationDate: fecha de vencimiento del documento.
creationDate: fecha de emisión del documento.
cuil: CUIL de la persona.
streetAddress: calle del domicilio de la persona.
numberStreet: número de la calle del domicilio de la persona.
floor: piso del domicilio de la persona.
department: departamento del domicilio de la persona.
zipCode: código postal del domicilio de la persona.
city: ciudad del domicilio de la persona.
municipality: municipio del domicilio de la persona.
province: provincia del domicilio de la persona.
country: país del domicilio de la persona.
nationality: nacionalidad de la persona.
countryBirth: país de nacimiento de la persona.
messageOfDeath: mensaje de fallecimiento de la persona.
Ejemplo de la respuesta:
{
"code": 10001,
"message": "Exito",
"person":"{\"number\":\"19XXXX47\",\"gender\":\"M\",\"names\":\"Homero
Abraham\",\"lastNames\":\"Simpson\",\"birthdate\":\"1900-01-
01\",\"copy\":\"A\",\"expirationDate\":\"03/07/2032\",\"creationDate\":\"03/07/2017\",\"c
uil\":\"0\",\"streetAddress\":\"calle\",\"numberStreet\":\"13\",\"floor\":null,\"department\":
null,\"zipCode\":\"SAxxxAG\",\"city\":\"SIN_INFORMAR\",\"municipality\":\"SIN_INFOR
MAR\",\"province\":\"SIN_INFORMAR\",\"country\":\"NARNIA\",\"messageOfDeath\":\"
Sin Aviso de Fallecimiento\",\"nationality\":\"\",\"countryBirth\":\"\"}",
"valid": "Vigente"
}
7
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
966: OPERATION_ENDPOINT_BUSINESS_POST_FAILED;
967: FACE_ENDPOINT_BUSINESS_POST_FAILED;
968: INFORMATION_ENDPOINT_BUSINESS_POST_FAILED;
981: APIKEY_REST_FAILED;
1000: INCORRECT_PARAMETERS;
1013: ENCRYPTION_FAIL;
1014: APIKEY_FILTER_INVALID;
1015: APIKEY_FILTER_MISSING;
1016: APIKEY_FILTER_UNDEFINED;
1017: APIKEY_FILTER_DISABLED;
1018: APIKEY_All_RETURNED;
1019: APIKEY_RETURNED;
1020: APIKEY_ID_NOT_SENT
1021: APIKEY_ID_NOT_EXIST;
1022: APIKEY_UPDATED;
1023: APIKEY_ACTIVE_INVALID;
1024: APIKEY_ACTIVE_REQUIRED;
1025: APIKEY_KEY_REQUIRED;
1026: APIKEY_DESCRIPTION_REQUIRED;
1027: APIKEY_CREATED;
4001: SERVICE_OK;
4002: USERS_OK;
9100: IMAGE_SANITIZATION_FAILURE;
9200: BUSINESS_CONFIGURATION_EMPTY;
9201: BUSINESS_CONFIGURATION_SCORE_ONBOARDING_OK;
9202: BUSINESS_CONFIGURATION_SCORE_ONBOARDING_EMPTY;
9203: BUSINESS_CONFIGURATION_SCORE_FACE_OK;
9204: BUSINESS_CONFIGURATION_SCORE_FACE_EMPTY;
9205: BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_ONE_OK;
9206: BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_ONE_EMPTY;
9207: BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_TWO_OK;
9208: BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_TWO_EMPTY;
9209: BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_THREE_OK;
9210:
BUSINESS_CONFIGURATION_URL_ENDPOINT_PACKAGE_THREE_EMPTY;
9220: INFORMATION_RENAPER_FAILED;
10001: RENAPER_OK_EXITO;
Aclaración: este código de error significa que la operación contra el backend de
validación de datos de Renaper fue Exitosa, sin perjuicio de la validación de los datos
propios validados. Teniendo en cuenta la información validada, hay dos posibles
respuestas, identificadas por el valor del campo “valid”:
Vigente: DNI, sexo y número de tramite válidos.
No vigente: DNI y sexo válidos, número de trámite no válido.
10002: RENAPER_OK_DNIPAS_FIRMADO;
10003: RENAPER_ERROR_PROBLEMA_DB;
10004: RENAPER_ERROR_SIN_DNI_DIGITAL;
8
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
10005: RENAPER_ERROR_PROBLEMAS_INTERNOS;
10006: RENAPER_ERROR_PERSONA_NO_ENCONTRADA;
10007: RENAPER_ERROR_BUSCAR_DATOS
10008: RENAPER_ERROR_NO_ENCONTRO_INFORMACION;
Aclaración: este código de error indica la imposibilidad de validar la combinación de
DNI y sexo.
10009: RENAPER_ERROR_SEXO_INCORRECTO;
10010: RENAPER_ERROR_DNI_INCORRECTO;
10011: RENAPER_ERROR_NO_DEFINIDO;
10012: RENAPER_ERROR_DNI_INVALIDO;
10013: RENAPER_ERROR_GENERO_INVALIDO;
10014: RENAPER_ERROR_IMAGEN_INVALIDA;
10015: RENAPER_ERROR_SERVICIO_FACEMATCH_NO_RESPONDE;
10016: RENAPER_ERROR_SERVICIO_DATOS_NO_RESPONDE;
Servicio /status
Este servicio permite verificar la conexión y llegada con el Gateway.
Respuesta esperada:
Codigo: 200
Cuerpo: null
9
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
Servicio /
Este servicio permite verificar acceso de APIKey a una determinada URL del
Gateway.
URL del servicio:
/
Parámetros de entrada:
Parámetros de respuesta:
Código: código de retorno
Códigos de respuesta posibles:
Respuesta esperada:
Codigo: 200
Cuerpo: {"code":0,"message":"VU Onboarding API","data":{"version":"1.1.0"}}
NOTA: estos códigos de error deberán contemplarse además dentro del listado de
errores HTTP según RFC 2616 https://tools.ietf.org/html/rfc2616
10
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
$apiKey='';
$dominio='https://renaper.dnm.gob.ar/';
$datos=array(
"number"=> "",
"gender"=> "",
"order"=> ""
);
$data_string = json_encode($datos);
$url="http://onboarding.renaper.prod.vusecurity.com:8080/vu-onboarding-
rest/information/personData";
$type="application/json";
$ch = curl_init($dominio);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'apikey: ' . $apiKey,
'Content-Type:'.$type,
'url:'.$url
)
);
$result = curl_exec($ch);
echo "RESULTADO<br>";
var_dump($result);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200:
echo "OK";
echo "<br>";
var_dump($result);
/*
$respuesta=(json_decode($result));
var_dump($respuesta);
11
SID Documentación Técnica – API – Paquete II – Versión 1.1.12.2
*/
break;
default:
echo 'Código HTTP inesperado: ', $http_code, "\n";
}
}
curl_close($ch);
?>
.NET
A continuación, se ejemplifica un script en el lenguaje .NET para realizar el consumo
del paquete III por medio del canal web:
El ejemplo esta armado con una librería que se llama RestSharp, se debe instalar
ejecutando el siguiente comando en nuget:
Install-Package RestSharp
Codigo ejemplo:
var request = new RestRequest(Method.POST);
request.AddHeader("url",
"http://onboarding.renaper.prod.vusecurity.com:8080/vu-onboarding-
rest/information/personData");
request.AddHeader("apikey", "{{apikey}}");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("undefined", "{\"gender\": \"M\",\"number\":
\"12345678\",\"order\": \"12345678\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
12