curl --request POST \
--url https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 0,
"description": "<string>",
"customFields": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>"
}
'import requests
url = "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests"
payload = {
"amount": 0,
"description": "<string>",
"customFields": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 0,
description: '<string>',
customFields: {},
scheduledAt: '2023-11-07T05:31:56Z',
timeZone: '<string>'
})
};
fetch('https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 0,
'description' => '<string>',
'customFields' => [
],
'scheduledAt' => '2023-11-07T05:31:56Z',
'timeZone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests"
payload := strings.NewReader("{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"realmId": "<string>",
"organizationId": "<string>",
"accountId": "<string>",
"walletId": "<string>",
"defaultWalletId": "<string>",
"destinationCategory": "FLEX_NATIONAL",
"amount": 123,
"requester": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"status": "PENDING_APPROVAL",
"createdAt": "<string>",
"updatedAt": "<string>",
"walletName": "<string>",
"txnCurrency": "784",
"description": "<string>",
"policyRequestId": "<string>",
"autoResolutionRequestedAt": "<string>",
"scheduledAt": "<string>",
"scheduledTimeZone": "<string>",
"scheduleId": "<string>",
"approvalExpiresAt": "<string>",
"confirmedAt": "<string>",
"canceledAt": "<string>",
"failureReason": "<string>",
"customFields": {}
}/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests
curl --request POST \
--url https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"amount": 0,
"description": "<string>",
"customFields": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>"
}
'import requests
url = "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests"
payload = {
"amount": 0,
"description": "<string>",
"customFields": {},
"scheduledAt": "2023-11-07T05:31:56Z",
"timeZone": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
amount: 0,
description: '<string>',
customFields: {},
scheduledAt: '2023-11-07T05:31:56Z',
timeZone: '<string>'
})
};
fetch('https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'amount' => 0,
'description' => '<string>',
'customFields' => [
],
'scheduledAt' => '2023-11-07T05:31:56Z',
'timeZone' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests"
payload := strings.NewReader("{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.platform.v2.portao3.com.br/realms/{realmId}/organizations/{organizationId}/wallets/{walletId}/transfer-requests")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"amount\": 0,\n \"description\": \"<string>\",\n \"customFields\": {},\n \"scheduledAt\": \"2023-11-07T05:31:56Z\",\n \"timeZone\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"realmId": "<string>",
"organizationId": "<string>",
"accountId": "<string>",
"walletId": "<string>",
"defaultWalletId": "<string>",
"destinationCategory": "FLEX_NATIONAL",
"amount": 123,
"requester": {
"userId": "<string>",
"name": "<string>",
"email": "<string>"
},
"status": "PENDING_APPROVAL",
"createdAt": "<string>",
"updatedAt": "<string>",
"walletName": "<string>",
"txnCurrency": "784",
"description": "<string>",
"policyRequestId": "<string>",
"autoResolutionRequestedAt": "<string>",
"scheduledAt": "<string>",
"scheduledTimeZone": "<string>",
"scheduleId": "<string>",
"approvalExpiresAt": "<string>",
"confirmedAt": "<string>",
"canceledAt": "<string>",
"failureReason": "<string>",
"customFields": {}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
FLEX_NATIONAL, FLEX_INTERNATIONAL, FOOD, GAS, MOBILITY, TOLL, FLEX_NATIONAL_WITHOUT_WITHDRAWALS, ADS, SAAS, HOTEL, AIRLINES, TRAVEL -9007199254740991 <= x <= 9007199254740991Show child attributes
Show child attributes
Response
Successful response
The account BOTH wallets belong to (one organization = one account).
The SUBJECT wallet (the path wallet) — never the org default wallet.
The organization's default wallet — the counterparty on every transfer request — snapshotted at creation so a later default-wallet change cannot retarget an already-open request.
The balance category on the SUBJECT wallet's side — see the payload.
FLEX_NATIONAL, FLEX_INTERNATIONAL, FOOD, GAS, MOBILITY, TOLL, FLEX_NATIONAL_WITHOUT_WITHDRAWALS, ADS, SAAS, HOTEL, AIRLINES, TRAVEL Signed integer cents — see CreateWalletTransferRequestPayload.amount.
Show child attributes
Show child attributes
PENDING_APPROVAL, REQUESTED, CONFIRMED, CANCELLED, EXPIRED, FAILED, SCHEDULED Display name of the subject wallet, snapshotted at creation from the already-loaded wallet doc (a later rename does not propagate) — carried so the policy-request (and this doc's own reads) can show it without a wallet lookup. Absent on docs created before the field existed and on legacy wallets with no name.
The wallet's currency as an ISO-4217 numeric code, in string form ("986" = BRL). Set from the wallet when the request is created and never accepted as input. Absent on requests created before this field existed.
784, 971, 008, 051, 973, 032, 036, 533, 944, 977, 052, 050, 048, 108, 060, 096, 068, 984, 986, 044, 064, 072, 933, 084, 124, 976, 947, 756, 948, 990, 152, 156, 170, 970, 188, 192, 132, 203, 262, 208, 214, 012, 818, 232, 230, 978, 242, 238, 826, 981, 936, 292, 270, 324, 320, 328, 344, 340, 332, 348, 360, 376, 356, 368, 364, 352, 388, 400, 392, 404, 417, 116, 174, 408, 410, 414, 136, 398, 418, 422, 144, 430, 426, 434, 504, 498, 969, 807, 104, 496, 446, 929, 480, 462, 454, 484, 979, 458, 943, 516, 566, 558, 578, 524, 554, 512, 590, 604, 598, 608, 586, 985, 600, 634, 946, 941, 643, 646, 682, 090, 690, 938, 752, 702, 654, 925, 706, 968, 728, 930, 222, 760, 748, 764, 972, 934, 788, 776, 949, 780, 901, 834, 980, 800, 840, 997, 940, 858, 927, 860, 926, 928, 704, 548, 882, 396, 950, 961, 959, 955, 956, 957, 958, 951, 532, 960, 952, 964, 953, 962, 994, 963, 965, 999, 886, 710, 967, 924 When a confirm first asked the policy engine to execute the matched auto-approving policy for this request. Informational; once set, every later confirm of this request is reconciled against that execution.
ONE l — the fleet spelling for this timestamp (pix/boleto/ted all use canceledAt). The STATUS value keeps two (CANCELLED), which all of them already share; only the timestamp was inconsistent.
Custom-field values, keyed by the definition's slug.
Show child attributes
Show child attributes