{"info":{"_postman_id":"8bd99d29-8ce2-44a9-b9dc-afa734b81850","name":"Signature - API v2.0","description":"<html><head></head><body><p>Signature utiliza una API RESTful basada en HTTP. Las peticiones y respuestas de la API se hacen por medio del uso de mensajes formateados en JSON.</p>\n<h1 id=\"comunidad\">Comunidad</h1>\n<p>Disponemos de un canal en Slack en el cual pueden participar, ya sea para realizar consultas y/o comentarios que tengas sobre la integración.</p>\n<blockquote>\n<p><a href=\"https://communityinviter.com/apps/haulmer/haulmer\">https://haulmer.slack.com</a></p>\n</blockquote>\n<h1 id=\"autorizacion-y-autenticacion\">Autorización y Autenticación</h1>\n<p>Todas las peticiones que se realizan a la API de Signature deben contener en la cabecera la credencial <em>API Key</em>, la cual es utilizada para verificar los permisos sobre el <em>endpoint</em> que intenta acceder, además de identificar quién es el que realiza la petición sobre el sistema.</p>\n<p>Las <em>API Keys</em> están siempre asociadas a una cuenta de <em>partner</em>/integrador. De esta forma se irán descontando del paquete de firmas que haya contratado.</p>\n<h1 id=\"seguridad\">Seguridad</h1>\n<p>Se debe tener en consideración los límites que ofrece la API para su implementación, actualmente se tiene un límite de peticiones por segundos y minutos que se pueden realizar.</p>\n<ul>\n<li>límite de consultas por segundos: 3</li>\n<li>límite de consultas por minutos: 100</li>\n</ul>\n<p>Cuando se alcance alguno de estos límites el sistema reponderá con un código HTTP de error 429 y el mensaje:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"statusCode\": 429, \"message\": \"Rate limit is exceeded. Try again in X seconds.\" }\n</code></pre>\n<p>Cuando exista un error de validación de <em>API Key</em> el sistema reponderá con un código HTTP de error 401 y el mensaje:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{ \"statusCode\": 401, \"message\": \"Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription.\" }\n</code></pre>\n<h1 id=\"urls\">URLs</h1>\n<ol>\n<li>Existen dos URL para las APIs, una para cada ambiente:</li>\n</ol>\n<ul>\n<li>Producción: <code>https://api.haulmer.com</code></li>\n<li>Desarrollo: <code>https://api.haulmer.dev</code></li>\n</ul>\n<p> Cabe destacar que el ambiente de desarrollo <strong>no genera firmas válidas</strong>.</p>\n<ol>\n<li>URL formulario completación de datos del usuario:</li>\n</ol>\n<ul>\n<li><p>Producción: <code>https://signature.haulmer.com/v2/public/{token}</code></p>\n</li>\n<li><p>Desarrollo: <code>https://signature.haulmer.dev/v2/public/{token}</code></p>\n</li>\n</ul>\n<hr>\n<h1 id=\"apis-rest\">APIs REST</h1>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Comunidad","slug":"comunidad"},{"content":"Autorización y Autenticación","slug":"autorizacion-y-autenticacion"},{"content":"Seguridad","slug":"seguridad"},{"content":"URLs","slug":"urls"},{"content":"APIs REST","slug":"apis-rest"}],"owner":"6074118","collectionId":"8bd99d29-8ce2-44a9-b9dc-afa734b81850","publishedId":"SzRz1W8z","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-03-11T20:19:56.000Z"},"item":[{"name":"Generar Token","id":"03bbc34e-59a5-4d79-aff3-bed5fb5f1a66","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"apikey","value":"cebc90896c0445599e6d2269b9f89c8f","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"period\" : 1,\n    \"email\" : \"email@correo.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.haulmer.dev/v2.0/partners/signature/generate","description":"<p>Este endpoint permite generar un token para ser utilizado en el autoservicio de Haulmer para realizar la creación de una Firma Electrónica.</p>\n<h3 id=\"descripción-de-parámetros\">DESCRIPCIÓN DE PARÁMETROS:</h3>\n<ul>\n<li><strong>period:</strong> Indica el tiempo de validez de la firma, de 1 a 3 años. Se debe indicar el número de años.</li>\n<li><strong>email:</strong> Indicar email del cliente o partner. (solo para asociar la venta a nivel de soporte).</li>\n</ul>\n<h3 id=\"descripción-de-respuesta\">DESCRIPCIÓN DE RESPUESTA:</h3>\n<ul>\n<li><strong>result:</strong> Indica el resultado de api success/error.</li>\n<li><strong>token:</strong> token a utilizar en URL de autoservicio.</li>\n<li><strong>remaining:</strong> Cantidad de firmas que aún pueden ser creadas por el partner (asociados a su apikey).</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v2.0","partners","signature","generate"],"host":["api","haulmer","dev"],"query":[],"variable":[]}},"response":[{"id":"acfb3a24-eaa4-465a-85c3-a63050adfa29","name":"Generar Token","originalRequest":{"method":"POST","header":[{"key":"apikey","value":"cebc90896c0445599e6d2269b9f89c8f","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"period\" : 1,\n    \"email\" : \"email@correo.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.haulmer.dev/v2.0/partners/signature/generate"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 13 Oct 2021 19:09:40 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"82"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"X-Powered-By","value":"PHP/7.4.0"}],"cookie":[],"responseTime":null,"body":"{\n    \"result\": \"success\",\n    \"token\": \"f253c341-c3ac-4ea0-aae8-4f477f422f84\",\n    \"remaining\": 88\n}"}],"_postman_id":"03bbc34e-59a5-4d79-aff3-bed5fb5f1a66"},{"name":"Generar Firma","id":"426b32c2-6186-4119-b141-82ec07821894","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"apikey","value":"cebc90896c0445599e6d2269b9f89c8f","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"names\" : \"test\",\n    \"f_lastname\" : \"test\",\n    \"m_lastname\" : \"test\",\n    \"rut\" : \"12345678-3\",\n    \"serie_ci\" : \"123456789\",\n    \"email\": \"correo.pruebas.qa7@gmail.com\",\n    \"password\": \"prueba123456\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.haulmer.dev/v2.0/partners/signature/createSignature/:token","description":"<p>Endpoit para generar una firma electronica utilizando un token y los datos de un usuario.</p>\n<h3 id=\"descripción-parámetros\">Descripción parámetros:</h3>\n<ul>\n<li><strong>names:</strong> Nombres del usuario</li>\n<li><strong>f_lastname:</strong> Apellido paterno</li>\n<li><strong>m_lastname:</strong> Apellido materno</li>\n<li><strong>rut:</strong> Rut del usuario</li>\n<li><strong>serie_ci:</strong> Número de serie del carnet</li>\n<li><strong>email:</strong> Correo electrónico </li>\n<li><strong>password:</strong> Contraseña de la firma electronica</li>\n</ul>\n<h3 id=\"consideraciones-parámetros\">CONSIDERACIONES PARÁMETROS</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Consideraciones</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>names</td>\n<td><li> Máximo caracteres: 20 <br /> </li><li> Mínimo caracteres: 1</li></td>\n</tr>\n<tr>\n<td>f_lastname</td>\n<td><li> Máximo Caracteres: 20 <br /> </li><li> Mínimo caracteres: 1</li></td>\n</tr>\n<tr>\n<td>m_lastname</td>\n<td><li> Máximo Caracteres: 20 <br /> </li><li> Mínimo caracteres <br /> </li><li> Puede ser vacío en caso de que el usuario no tenga apellido materno</li></td>\n</tr>\n<tr>\n<td>rut</td>\n<td><li> Máximo Caracteres: 10 <br /> </li><li> Mínimo caracteres: 8 <br /> </li><li> Sin puntos, pero con guión</li></td>\n</tr>\n<tr>\n<td>serie_ci</td>\n<td><li> Máximo Caracteres: 10 <br /> </li><li> Mínimo caracteres: 9 <br /> </li><li> Debe ser sin puntos</li></td>\n</tr>\n<tr>\n<td>email</td>\n<td><li> Máximo Caracteres: 60 <br /> </li><li> Formato correcto de correo</li></td>\n</tr>\n<tr>\n<td>password</td>\n<td><li> Máximo Caracteres: 32 <br /> </li><li> Mínimo caracteres: 10 <br /> </li><li> Caracteres permitidos: Mayusculas, Minúsculas y números <br /> </li><li> Debe contener al menos una letra</li></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"descripción-de-respuesta\">DESCRIPCIÓN DE RESPUESTA:</h3>\n<ul>\n<li><strong>result:</strong> Indica el resultado de api success/error.</li>\n<li><strong>message:</strong> En caso de ser un error este mensaje contiene la descripción.</li>\n<li><strong>email:</strong> Email al cual será enviado la firma generada en caso de resultado exitoso.</li>\n<li><strong>signature:</strong> Firma electronica generada en base64.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v2.0","partners","signature","createSignature",":token"],"host":["api","haulmer","dev"],"query":[],"variable":[{"type":"any","value":"7151e745-a704-42c4-ad81-50bd301e07fe","key":"token"}]}},"response":[{"id":"de2e794a-5786-40c8-93bf-02a6c474ff9e","name":"Generar Firma","originalRequest":{"method":"POST","header":[{"key":"apikey","value":"cebc90896c0445599e6d2269b9f89c8f","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"names\" : \"test\",\n    \"f_lastname\" : \"test\",\n    \"m_lastname\" : \"test\",\n    \"rut\" : \"12345678-3\",\n    \"serie_ci\" : \"123456789\",\n    \"email\": \"correo.pruebas.qa7@gmail.com\",\n    \"password\": \"prueba123456\"\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.haulmer.dev/v2.0/partners/signature/createSignature/:token","protocol":"https","host":["api","haulmer","dev"],"path":["v2.0","partners","signature","createSignature",":token"],"variable":[{"key":"token","value":"7151e745-a704-42c4-ad81-50bd301e07fe"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jun 2022 15:35:01 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"432"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Set-Cookie","value":"ARRAffinity=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"Set-Cookie","value":"ARRAffinitySameSite=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;SameSite=None;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"X-Powered-By","value":"PHP/7.4.0"}],"cookie":[],"responseTime":null,"body":"{\n    \"result\": \"success\",\n    \"message\": \"\",\n    \"email\": \"correo.pruebas.qa7@gmail.com\",\n    \"signature\": \"ButmI9dcQ7ZD/uc4WGi4CS+FyhdkAqwNY3wbd8QSxsMY231TZ31LAq2NvOQ4glmLv49vGwbiaf50HQ/QsMIti5y71+sK5N2A5o5q4fc1kfjN7CVcbbL7ue1Pl0vH3YANllgq27vSotkZkUjkoDPZv31XQiY3mHpUx1YnW64OhdB7BXBgIjDgP3ftjpmgfBuglFhgeDeUwWecOnBDrF23ftsvmPENL1aY/kJTt8PDMMagWsRYvOhhxkZnd1mghMclHpE/RjMwyLJurPnZeP4TtM2BJ2iEW5mCIL2QXHNTGiQgxI4Li/Dca1qVIak4uHHBn3QEAMjXtoPybra7VVh6\"\n}"}],"_postman_id":"426b32c2-6186-4119-b141-82ec07821894"},{"name":"Obtener firmas restantes Partner","id":"50a98f95-cbd1-4ec2-b9b7-19d0e7bbc081","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"apikey","value":"a3b97b7b529447f1b1f09a3331da8e01","type":"text"}],"url":"https://api.haulmer.dev/v2.0/partners/signature/remaining","description":"<p>Endpoint para obtener la cantidad de firmas que no se han usado del paquete de firmas adquirido por el partner (asociados al <em>apikey</em>).</p>\n<h3 id=\"descripción-de-respuesta\">DESCRIPCIÓN DE RESPUESTA:</h3>\n<ul>\n<li><strong>partner_name:</strong> Nombre registrado del integrador.</li>\n<li><strong>partner_email:</strong> Email registrado del integrador.</li>\n<li><strong>remaining:</strong> Cantidad de firmas sin usar.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v2.0","partners","signature","remaining"],"host":["api","haulmer","dev"],"query":[{"disabled":true,"key":"apikey","value":""}],"variable":[]}},"response":[{"id":"12d24637-b23c-4deb-b9de-6ea6995083b6","name":"Obtener firmas restantes Partner","originalRequest":{"method":"GET","header":[{"key":"apikey","value":"a3b97b7b529447f1b1f09a3331da8e01","type":"text"}],"url":{"raw":"https://api.haulmer.dev/v2.0/partners/signature/remaining","protocol":"https","host":["api","haulmer","dev"],"path":["v2.0","partners","signature","remaining"],"query":[{"key":"apikey","value":"","disabled":true}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jun 2022 15:37:53 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"94"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Set-Cookie","value":"ARRAffinity=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"Set-Cookie","value":"ARRAffinitySameSite=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;SameSite=None;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"X-Powered-By","value":"PHP/7.4.0"}],"cookie":[],"responseTime":null,"body":"{\n    \"partner_name\": \"Partner02-CM\",\n    \"partner_email\": \"correo.pruebas.qa10@gmail.com\",\n    \"remaining\": 44\n}"}],"_postman_id":"50a98f95-cbd1-4ec2-b9b7-19d0e7bbc081"},{"name":"Obtener firmas usadas Partner","id":"0be25cda-5cc7-4f3f-8ac4-ee0294bd5344","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"apikey","value":"a3b97b7b529447f1b1f09a3331da8e01","type":"text"}],"url":"https://api.haulmer.dev/v2.0/partners/signature/usages","description":"<p>Entrega la cantidad de firmas que se han generado por el integrador (asociados al <em>apikey</em>).</p>\n<h3 id=\"descripción-de-respuesta\">DESCRIPCIÓN DE RESPUESTA:</h3>\n<ul>\n<li><strong>partner_name:</strong> Nombre registrado del integrador.</li>\n<li><strong>partner_email:</strong> Email registrado del integrador.</li>\n<li><strong>ussages:</strong> Cantidad de firmas generadas.</li>\n</ul>\n","urlObject":{"protocol":"https","path":["v2.0","partners","signature","usages"],"host":["api","haulmer","dev"],"query":[],"variable":[]}},"response":[{"id":"afd90b4a-0f55-4a1a-b9d7-ae1e435e4dc3","name":"Obtener firmas usadas Partner","originalRequest":{"method":"GET","header":[{"key":"apikey","value":"a3b97b7b529447f1b1f09a3331da8e01","type":"text"}],"url":"https://api.haulmer.dev/v2.0/partners/signature/usages"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jun 2022 15:39:13 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"90"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Set-Cookie","value":"ARRAffinity=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"Set-Cookie","value":"ARRAffinitySameSite=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;SameSite=None;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"X-Powered-By","value":"PHP/7.4.0"}],"cookie":[],"responseTime":null,"body":"{\n    \"partner_name\": \"Partner02-CM\",\n    \"partner_email\": \"correo.pruebas.qa10@gmail.com\",\n    \"usages\": 6\n}"}],"_postman_id":"0be25cda-5cc7-4f3f-8ac4-ee0294bd5344"},{"name":"Get info setup","id":"f3302712-93ec-4997-b820-3a3f5ffc7dc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"apiKey","value":"e00d938cb3e5448490a6a1847ce7bf1c","type":"text"}],"url":"https://api.haulmer.dev/v2.0/partners/signature/details/:token","description":"<p>Durante el proceso de generación de firmas, los clientes deben completar la su información básica. Dado que la generación de firmas es realizado por los clientes, el integrador no conoce el estado de progreso del proceso. Para estar informado se deja a disposición este endpoint que informará el estado y la información básica del cliente (asociado al token de la firma electrónica).</p>\n<h3 id=\"descripción-de-respuesta\">DESCRIPCIÓN DE RESPUESTA:</h3>\n<ul>\n<li><strong>status:</strong> Indica el estado de progreso del proceso de generación de firma.</li>\n<li><strong>client_name:</strong> Nombre del cliente.</li>\n<li><strong>client_rut:</strong> RUT del cliente.</li>\n<li><strong>client_email:</strong> Email del cliente.</li>\n</ul>\n<h3 id=\"tipos-de-estado-status\">TIPOS DE ESTADO (STATUS)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Campo</th>\n<th>Descripción</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><em>waiting user data</em></td>\n<td>Indica que esta a la espera de que el usuario complete sus datos personales en el autoservicio.</td>\n</tr>\n<tr>\n<td><em>setup completed</em></td>\n<td>Indica que el proceso de generación de firma está finalizado.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"protocol":"https","path":["v2.0","partners","signature","details",":token"],"host":["api","haulmer","dev"],"query":[],"variable":[{"type":"any","value":"3abc9f13-6f11-485a-ab4e-6f2485df6a7a","key":"token"}]}},"response":[{"id":"61271af3-b8ba-4578-818d-e703ab48a4be","name":"Get info setup","originalRequest":{"method":"GET","header":[{"key":"apiKey","value":"e00d938cb3e5448490a6a1847ce7bf1c","type":"text"}],"url":{"raw":"https://api.haulmer.dev/v2.0/partners/signature/details/:token","protocol":"https","host":["api","haulmer","dev"],"path":["v2.0","partners","signature","details",":token"],"variable":[{"key":"token","value":"3abc9f13-6f11-485a-ab4e-6f2485df6a7a"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jun 2022 15:51:56 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"136"},{"key":"Connection","value":"keep-alive"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Set-Cookie","value":"ARRAffinity=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"Set-Cookie","value":"ARRAffinitySameSite=d57cc6a9081cd53aacf88113e5bfcd5bdc077c16f31df77df105749dc7d69f11;Path=/;HttpOnly;SameSite=None;Secure;Domain=dev-signature-ecert-backend-core.azurewebsites.net"},{"key":"X-Powered-By","value":"PHP/7.4.0"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"setup complete\",\n    \"client_name\": \"Claudia Munoz Flores\",\n    \"client_rut\": \"18918017-9\",\n    \"client_email\": \"correo.pruebas.qa7@gmail.com\"\n}"}],"_postman_id":"f3302712-93ec-4997-b820-3a3f5ffc7dc7"}]}