{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"1d669616-507d-4978-ad7a-ff4b84a77915","name":"API Provi","description":"For documentation regarding previous and deprecated endpoints resources, please visit [this page](https://documenter.getpostman.com/view/12316037/UVsEWV1h).\n\n## Overview\n\nProvi API is based on [REST](http://en.wikipedia.org/wiki/Representational_state_transfer) principles. Data resources are accessed via standard HTTPS requests. Where possible, our API uses appropriate HTTP verbs for each action.\n\nFor any questions, suggestions or feedback about our APIs please contact us at [tech-support@provi.com.br](mailto:tech-support@provi.com.br) or [suporte-tecnologia@provi.com.br](mailto:suporte-tecnologia@provi.com.br)\n\nWe will get back to you as soon as possible.\n\n### Base URL\n\nThe API is accessed using a base URL that changes according to the environment you want to use.\n\n**Environment subdomain:**\n\n*   Development environment is: `ms-checkout-staging`\n*   Production environment is: `ms-checkout`\n    \n\n**base_url is:** `https://{{environment_subdomain}}.provi.com.br`\n\nURL path must begin with the API version followed by API resource. All API calls should be made over HTTPS.\n\nThe complete URL will have the following structure:\n\n`https://{{environment_subdomain}}.provi.com.br/{{api_version}}/{{resource}}`.\n\n## Authentication\n\nAll requests to the API are authenticated by providing your API key. The API key should be provided as an HTTP header named `Api-Token`\n\n`curl -H \"Api-Token: YOUR_TOKEN\" https://ms-checkout.provi.com.br/v4/...`\n\n## Where to find the api-token\n\n1.  Access [https://painel.provi.com.br/](https://painel.provi.com.br/) using an account with administrator permission.\n2.  Go to \"desenvolvimento\" at the left sidebar menu.\n3.  Click on the generate button and then on the copy button to copy the api-token to your clipboard\n    \n\n## Guidance\n\n*   Use **v4** as {{api_version}}. Resources and routes not documented here have been deprecated and will no longer be mantained.\n*   For documentation regarding previous and deprecated endpoints resources, please visit [this page](https://documenter.getpostman.com/view/12316037/UVsEWV1h).\n*   Email us at [tech-support@provi.com.br](mailto:tech-support@provi.com.br) or [suporte-tecnologia@provi.com.br](mailto:suporte-tecnologia@provi.com.br) if you have any issue.\n    \n\n* * *\n\n# Status explained\n\nStatuses represent the flow of the credit request, from the start of the purchase to the fulfillment of the payment.\n\n### Sales funil status\n\nYou will find those status on Panel Dashboard or received webhooks:\n\n*   **not_logged**: a checkout was created for a given student, but the student has not yet logged in.\n*   **basic_info_incomplete**: the user logged into the platform, but their basic info is incomplete.\n*   **basic_info_review**: the user's basic info is being reviewed by our team.\n*   **document_info_incomplete**: the user still needs to send us some documents.\n*   **document_info_review**: all documents have been sent and are under review. We will run an automatic credit check on the user, which will determine if they need to indicate a guarantor for the financing process.\n*   **analysis**: the financing couldn’t be automatically approved, so it was sent to be analysed by Provi’s credit team.\n*   **guarantor_needed**: the user needs to indicate a person to be their guarantor.\n*   **guarantor_incomplete**: a guarantor was indicated, but they haven’t completed the required steps on Provi’s Guarantor platform yet.\n*   **guarantor_review**: the guarantor information is being analysed by our team.\n*   **approved_by_provi**: the ISA credit request was approved by Provi, but still needs the partner’s approval.\n*   **not_approved_by_provi**: the ISA credit request was not fully approved or was reproved by Provi, but the partner is yet to analyse it.\n*   **waiting_signature**: student and guarantor, if applicable, have received the contract via email and need to sign it.\n*   **abandonment_before_signed**: the student reached the document signing stage, but did not proceed.\n*   **isa_abandonment_after_signed**: a ISA student did not proceed after signing the contract.\n*   **abandonment_after_signed**: the student signed the contract but did not make the first payment.\n*   **approved**: the credit request has been approved.\n*   **abandonment_after_upfront**: the student made the first payment, but decided not to proceed with the process.\n*   **abandonment_after_settled**: the credit request was canceled after the partner received the payment from Provi.\n*   **link_inactive**: the partner canceled the checkout before the user accessed Provi's platform.\n*   **expired**: the user’s checkout expired before the user logged in.\n*   **denied**: Provi was unable to approve the user’s financing.\n*   **waiting_payment**: the student made the purchase using a credit card and their funding information was accepted, but is undergoing a process of risk analysis to authorize the payment, or the student made the purchase with a bank billet, which can take up to three working days to be confirmed by the bank after it was paid.\n*   **made_effective**: the credit request was consolidated and the student is active.\n*   **isa_default**: Provi's team identified the ISA student as irregular.\n*   **logged**: the user logged into the platform.\n    \n\n* * *\n\n# Snapshot explained\n\nEvery exclusive-sale and webhook contains a snapshot. In order to interpret it, you need to understand the checkout process within the Provi system.\n\n### The user journey inside Provi’s platform is:\n\n1) log into Provi’s platform.\n\n2) fill in the user’s basic_info - email, full name, birth date, phone number, level of schooling, income, etc. After this is done, we will run an automatic credit check, which will determine if the user needs to indicate a guarantor for the financing process. If a guarantor is needed, the **guarantor_status** shown on the snapshot will be updated to **needed** and the user will need to indicate a person to be their guarantor after filling the documents. After a guarantor is indicated, they will need to access Provi’s Guarantor platform and provide their basic info and documents as well. The checkout cannot be approved before this happens. If a guarantor is not needed, the default **guarantor_status** on the snapshot will be **unneeded** and the checkout will be approvable after the user sent their documents to Provi.\n\n3) send the required documents (selfie, personal ID, proof of address). After this is done, there is a fork on the user flow: if the user has **guarantor_status** = **needed**, they will be asked to indicate a guarantor; if the user’s **guarantor_status** = **unneeded**, the checkout request will be either automatically approved (if the documentation is correctly filled and successfully interpreted by our machine learning model), or sent to be manually analyzed by Provi’s credit team.\n\n4) the user that needs a guarantor will only be analysed by Provi’s credit team after their indicated guarantor completed the required steps on Provi’s Guarantor platform.\n\n5) after the checkout goes to analysis, it will either be approved (a financing contract will be sent to the user), denied (Provi was unable to approve the user’s financing) or canceled (the user has decided not to go on with the checkout and financing process).\n\n6) if the user is approved, they will receive a DocuSign contract on their email. Once the user (and the guarantor if it is the case) signs the contract, the checkout will be considered signed and there will be a **signed_date**.\n\n7) after the contract is signed, the user will be able to access Provi’s User Dashboard to view the active financing and to download their bank slips. Once the first installment is paid, there will be a **first_installment_paid_date**.\n\n8) when Provi asks the bank to wire transfer the payment to the partner, the date of the request will be recorded on the **transferred_at** field.\n\n9) when the bank confirms that the payment Provi sent to the partner was successful, the date will be recorded on the **settled_at** field.\n\n### Snapshot’s status:\n\n*   **not_logged** – the user has not yet logged in\n    \n\n*   **expired** – the user’s checkout has expired before the user logged in\n    \n\n*   **incomplete** – the user or their guarantor has not yet finished to fill in all the mandatory information\n    \n\n*   **analysis** – Provi’s credit team is analyzing the credit request\n    \n\n*   **canceled** – the user decided not to go on with the checkout\n    \n\n*   **canceled_by_partner** – the partner canceled the checkout before the user logged in\n    \n\n*   **canceled_after_signed** – the checkout was canceled after the user signed the contract with Provi\n    \n\n*   **canceled_after_settled** – the checkout was canceled after the partner received the money from Provi\n    \n\n*   **denied** – Provi was unable to approve the user’s checkout\n    \n\n*   **approved** – Provi has approved the user’s checkout\n    \n\n*   **waiting_contract** – the user’s contract is being generated by DocuSign\n    \n\n*   **waiting_signature** – user and guarantor, if applicable, have received the contract via email, but not yet signed\n    \n\n*   **signed** – user and guarantor, if applicable, have signed the contract\n    \n\n*   **transferred** – Provi has sent the partner the wire transfer regarding the checkout\n    \n\n*   **settled** – the partner has successfully received Provi’s transfer regarding the checkout\n    \n\nThe **basic_info_status** can be:\n\n*   **incomplete** – the user has not yet filled their information\n    \n\n*   **review** – the user needs to correct their information\n    \n\n*   **analysis** – Provi is analyzing the user's information\n    \n\n*   **approved** – Provi has approved the user's information\n    \n\nThe **document_status** can be:\n\n*   **incomplete** – the user has not yet provided the documents\n    \n\n*   **review** – the user needs to resend one or more documents\n    \n\n*   **analysis** – Provi is analyzing the user's documents\n    \n\n*   **approved** – Provi has approved the user's documents\n    \n\nThe **guarantor_status** can be:\n\n*   **unneeded** – the user does not need to indicate a guarantor\n*   **needed** – the user needs to indicate a guarantor, but hasn't yet\n*   **incomplete** – the indicated guarantor hasn't filled in their information yet\n*   **review** – the indicated guarantor needs to correct their information\n*   **analysis** – Provi is analyzing the guarantor's information\n*   **approved** – Provi has approved the guarantor\n    \n\nThe **signed_date** can be:\n\n*   null\n*   date in which the financing contract was signed by both the user and guarantor, if applicable\n    \n\nThe **first_installment_paid_date** can be:\n\n*   null\n*   date in which the first installment from the financing was paid by the user\n    \n\nThe **transferred_at** can be:\n\n*   null\n*   date in which Provi asked the bank to wire transfer the payment to the partner\n    \n\nThe **settled_at** can be:\n\n*   null\n*   date in which the payment transfer to the partner was confirmed by the bank\n    \n\nThe **snapshot** is a picture of the checkout from a student at any given time.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"12316037","collectionId":"1d669616-507d-4978-ad7a-ff4b84a77915","publishedId":"T1LLDSk8","public":true,"publicUrl":"https://docs.provi.com.br","privateUrl":"https://go.postman.co/documentation/12316037-1d669616-507d-4978-ad7a-ff4b84a77915","customColor":{"top-bar":"FFF","right-sidebar":"01163E","highlight":"DE0C4B"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2020-08-10T18:08:12.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","favicon":"https://provi.com.br/favicon.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.provi.com.br/view/metadata/T1LLDSk8"}