{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"dc24d97c-3a70-4837-aeaf-f59abd2999cb","name":"Floid","description":"¡Bienvenido a nuestra API! 🙌 Aquí encontrás toda la información necesaria para integarte por este medio.\n\n> 📘 \n  \n\nLa `API` de Floid sigue el formato **REST**. Por ende, las _responses_ son en JSON con códigos HTTP específicos que indican si la _request_ fue exitosa o si se produjo un error. Toda _request_ debe incluir el _header_ **Content-Type: application/json** y un JSON válido como _body_ cuando aplique.\n\nTodas las llamadas a la `API` deben ser realizadas a través del protocolo HTTPS con un **Bearer Token** válido mediante el _header_ **Authorization**. La utilización de cualquier otro protocolo o el no proveer una autenticación válida resultará en un error.\n\n# Síncrono / asíncrono\n\nLas _requests_ de servicios puedes consultarlas de forma **síncrona** o **asíncrona**.\n\n_**Request**_ **síncrona:**\n\nLa _response_ se recibirá como respuesta al llamado realizado.\n\n_**Request**_ **asíncrona:**\n\nSe recibirán dos _responses_, una **síncrona** y otra **asíncrona**. La primera de estas se genera inmediatamente después de haber llamado a la `API` y tendrá status 200 o 400 dependiendo de si se realizó correctamente o si hubo un error. Además, incluirá un case id, que es un identificador único que te ayudará a ti y a nosotros a reconocer tu consulta más fácilmente. La _response_ **síncrona** la recibirás en un _endpoint_ de tu especificación cuando los procesos de extracción de información para el servicio hayan terminado. A este _endpoint_ lo denominamos `callbackUrl`.\n\nPara realizar un llamado **asíncrono**, debes incluir en el _body_ de la _request_ el campo `callbackUrl`, junto con la url en la que recibirás esa respuesta. En caso de no incluirlo, la respuesta se entregará de forma **síncrona**.\n\n**Ejemplo**\n\n``` json\n{\n    \"id\": \"{{id_persona}}\",\n    \"password\": \"{{password}}\",\n    \"callbackUrl\": \"https://webhook.site/#....\"\n}\n\n ```\n\n# **Caseid**\n\nEl `caseid` es un identificador único para cada _request_ que se realiza a la `API` de **Floid**. Se generará al inicio de la consulta y será parte de la _response._\n\nSi lo deseas, puedes proveer tu propio `caseid` en el body de la _request._ En ese caso, no generaremos uno y utlizaremos el que nos proveíste.\n\n# Request Schema\n\n## Headers\n\nEn los `headers` del _request_ debes agregar un token de autenticación:\n\n`\"Authorization\": \"Bearer` **`{{token}}\"`**\n\nEste token será facilitado por nuestro equipo, y podrás gestionar los permisos asociados al token en el backoffice de **Floid**.\n\nDebes, además, especificar el `content-type` :\n\n`\"content-type\": \"application/json\"`\n\n## Body\n\nLa estructura del `body` de la _request_ es la siguiente:\n\n``` json\n{\n\"caseid\": \"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx\", //opcional, en caso de que quieras usar tu propio caseid\n\"callbackUrl\":\"https://mywebhook.url\" //opcional, en caso de querer hacer la consulta de forma asíncrona\n//Parámetros particulares de cada endpoint, por ej:\n\"id\": \"77777777-7\",\n\"password\":\"mipass1234\"\n}\n\n ```\n\n# Bloqueo y desbloqueo de Credenciales\n\nEn caso de realizarse dos consultas consecutivas con credenciales incorrectas, Floid realizará un bloqueo preventivo con el fin de que la entidad consultada no bloquee de forma definitiva dichas credenciales. El bloqueo se levanta automáticamente luego de 24 horas.  \nEn caso de necesitarse un desbloqueo manual, se puede agregar un campo al `body` de la `request`:\n\n`\"unlock_credentials\": true`\n\nAl realizar esta acción, el cliente da por entendido que esto podría resultar en un bloqueo definitivo de las credenciales por parte de la entidad bancaria o estatal, y asume las responsabilidades de hacerlo.\n\n##### Desbloquear sin hacer la consulta\n\nSi se desea desbloquear al usuario sin consultar el servicio, se debe quitar el campo `password` del body.\n\nBody de la request:\n\n``` json\n{\n    \"id\": \"11111111-1\",\n    \"unlock_credentials\": true\n}\n\n ```\n\nRespuesta esperada:\n\n``` json\n{\n    \"code\": \"200\",\n    \"msg\": \"Credentials Unlocked\"\n}\n\n ```\n\n# Widget\n\nFloid te permite utilizar el Widget de Floid para poder integrarte sin necesidad de consultar nuestra API.\n\n- **Creación del widget:**\n    \n\nEntra a la sección de Widgets del Admin y presiona Crear Widget.\n\nEn la configuración del mismo Widget tendrás un campo para agregar un link al Webhook donde recibirás todos los reportes. Además, puedes habilitar un redirect, que será la url donde el usuario irá una vez termine la consulta.\n\n- **Agrégalo a tu flujo de evaluación:**\n    \n\n**Parámetro Personalizado:**\n\nSi quieres ocupar un parámetro personalizado, puedes agregarlo directamente en la URL del Widget. De esta forma podrás recibir ese valor en la respuesta.\n\n`https://admin.floid.app/merchant/widget/xxxxx?custom=valor_personalizado`\n\nRespuesta:\n\n```\n{\n    \"id\": \"11111111-1\",\n    \"password\": \"1234\",\n    \"bank\": \"falabella\",\n    \"country\": \"cl\",\n    \"callbackUrl\": \"https://webhook.site/34995435-645a-468c-8eb3-8530cc0d5497\",\n    \"custom\": \"valor_personalizado\"\n}\n\n ```\n\n**Autorellenar ID del Usuario:**\n\nPuedes incluir el ID del usuario (RUT, Número de Identificación, Usuario, etc.) en la URL del widget:\n\n`https://admin.floid.app/merchant/widget/xxxxx?id=77777777-7`\n\nDe esta forma el campo del ID se autorellenará con este valor y quedará `disabled`, por lo tanto no será posible modificarlo por el usuario.\n\n- Esto no evita que el usuario pueda modificar la URL, por lo tanto recomendamos hacer una validación una vez recibida la respuesta, la que incluirá el ID del usuario consultado.\n    \n- Contáctate con nosotros si necesitas que el ID sea enviado de forma encriptada.\n    \n\n**Incluir más de un parámetro en la URL:**\n\nPara incluir tanto el parámetro personalizado como el ID del usuario en la URL, se debe enviar de la siguiente forma:\n\n`https://admin.floid.app/merchant/widget/xxxxx?custom=valor_personalizado&id=77777777-7`\n\nEl orden en que se incluyen es irrelevante.\n\n**Recomendaciones:**\n\n- Agrega este widget dentro de un flujo, no recomendamos enviarlo como un link directo.\n    \n- Entrega contexto y explica por qué vas a solicitar esa información.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"6034563","team":593032,"collectionId":"dc24d97c-3a70-4837-aeaf-f59abd2999cb","publishedId":"TzJx6b2U","public":true,"publicUrl":"https://docs.floid.io","privateUrl":"https://go.postman.co/documentation/6034563-dc24d97c-3a70-4837-aeaf-f59abd2999cb","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"light","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.0","publishDate":"2025-01-31T19:54:12.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/6bfeb497f452f52deba8442db489efae2d389b983121bc66d0919693419e551a","favicon":"https://res.cloudinary.com/postman/image/upload/v1632174840/team/nnzxkzr0doylp5acwpf8.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"}],"canonicalUrl":"https://docs.floid.io/view/metadata/TzJx6b2U"}