The APIs behind sales, card issuing, capture and merchant operations — documented, with a sandbox and a clear path to production.
The numbers below come from what is published in this portal right now.
Four audiences, four API families. The portal is the same; each path starts somewhere different.
External sellers, lead prospecting and online simulation and purchase: the Sales APIs cover the channel from first contact to order.
Orders, cards and beneficiaries through the Core-Issuing API, in the flow HR already knows.
Transaction capture, holds and refunds, the merchant's financial operations and the card wallet for online payment, through the Acquiring APIs.
The same path the VR dev portal publishes today. Two approvals and three environments: knowing that up front shortens the integration.
API documentation requires a developer account. Once approved, you get the link to set your password.
The APP holds the credentials for the call. It also goes through VR approval.
Fixed, fictional data — enough to build the integration and learn the responses.
Once your APP is approved, every call to the VR APIs carries two values in the header: the APP's client_id and an OAuth 2.0 access token. The token comes from two requests to VR's authentication endpoints.
POST to /oauth/grant-code with your APP's client_id and the redirect_uri. The response returns the redirect_uri with the authorization code in the code parameter.
POST to /oauth/access-token with Authorization: Basic and client_id:client_secret in Base64. You get back the access_token, the refresh_token and expires_in (3600 seconds).
Send client_id and access_token in the header of every call; without either, the response is 401. When the token expires, the refresh_token renews access in a single request.
curl -X POST https://api.vr.com.br/oauth/grant-code \
-H "Content-Type: application/json" \
-d '{"client_id": "<client_id>", "redirect_uri": "http://localhost/"}'
curl -X POST https://api.vr.com.br/oauth/access-token \
-H "Content-Type: application/json" \
-H "Authorization: Basic <base64(client_id:client_secret)>" \
-d '{"grant_type": "authorization_code", "code": "<code>"}'
# toda chamada às APIs da VR
-H "client_id: <client_id>" -H "access_token: <access_token>"VR's content as study material: tracks with lessons and quizzes for those who prefer to be guided, and short articles for those already integrating who just need an answer.
It is the organisation VR's dev portal already uses. The number on each card is how many APIs of that family are documented and visible to you right now.
This family's APIs become available after you sign in, as in the current portal.
The guide VR publishes: answers without a generic form.
VR's guide, from sign-up to the production APP, with the text the dev portal publishes today.
Geolocation, content, users, QR Code and instant payments: the Common APIs that cut across the three domains.
After building, you test against an environment with data closer to the real thing.
One APP per environment: separate credentials, and the integration is done once this one is approved.
This family's APIs become available after you sign in, as in the current portal.
This family's APIs become available after you sign in, as in the current portal.
Open the familyThis family's APIs become available after you sign in, as in the current portal.
Open the family