Create Data Qualification
curl --request POST \
--url https://api.sandbox.wepayout.com.br/v1/payout/data-qualification \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"merchant_id": 123,
"service_id": 123,
"data": [
{
"amount": 123,
"custom_code": "<string>",
"batch_code": "<string>",
"notification_url": "<string>",
"beneficiary": {
"name": "<string>",
"bank_code": "<string>",
"bank_branch": "<string>",
"bank_branch_digit": "<string>",
"account": "<string>",
"account_digit": "<string>",
"account_type": "<string>",
"document": "<string>",
"document_type": "<string>",
"birthdate": "<string>",
"phone": "<string>",
"city": "<string>",
"postal_code": "<string>",
"province_code": "<string>",
"address": "<string>"
}
}
]
}
'import requests
url = "https://api.sandbox.wepayout.com.br/v1/payout/data-qualification"
payload = {
"merchant_id": 123,
"service_id": 123,
"data": [
{
"amount": 123,
"custom_code": "<string>",
"batch_code": "<string>",
"notification_url": "<string>",
"beneficiary": {
"name": "<string>",
"bank_code": "<string>",
"bank_branch": "<string>",
"bank_branch_digit": "<string>",
"account": "<string>",
"account_digit": "<string>",
"account_type": "<string>",
"document": "<string>",
"document_type": "<string>",
"birthdate": "<string>",
"phone": "<string>",
"city": "<string>",
"postal_code": "<string>",
"province_code": "<string>",
"address": "<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({
merchant_id: 123,
service_id: 123,
data: [
{
amount: 123,
custom_code: '<string>',
batch_code: '<string>',
notification_url: '<string>',
beneficiary: {
name: '<string>',
bank_code: '<string>',
bank_branch: '<string>',
bank_branch_digit: '<string>',
account: '<string>',
account_digit: '<string>',
account_type: '<string>',
document: '<string>',
document_type: '<string>',
birthdate: '<string>',
phone: '<string>',
city: '<string>',
postal_code: '<string>',
province_code: '<string>',
address: '<string>'
}
}
]
})
};
fetch('https://api.sandbox.wepayout.com.br/v1/payout/data-qualification', 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.sandbox.wepayout.com.br/v1/payout/data-qualification",
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([
'merchant_id' => 123,
'service_id' => 123,
'data' => [
[
'amount' => 123,
'custom_code' => '<string>',
'batch_code' => '<string>',
'notification_url' => '<string>',
'beneficiary' => [
'name' => '<string>',
'bank_code' => '<string>',
'bank_branch' => '<string>',
'bank_branch_digit' => '<string>',
'account' => '<string>',
'account_digit' => '<string>',
'account_type' => '<string>',
'document' => '<string>',
'document_type' => '<string>',
'birthdate' => '<string>',
'phone' => '<string>',
'city' => '<string>',
'postal_code' => '<string>',
'province_code' => '<string>',
'address' => '<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.sandbox.wepayout.com.br/v1/payout/data-qualification"
payload := strings.NewReader("{\n \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\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.sandbox.wepayout.com.br/v1/payout/data-qualification")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v1/payout/data-qualification")
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 \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "All records processed successfully"
}
{
"message": "Error message.",
"info": {
"errors": [
{
"line": 1,
"batch_code": "bc101",
"custom_code": "cc101",
"message": "Name format invalid"
}
],
"uploadSuccess": [
{
"line": 2,
"batch_code": "bc102",
"custom_code": "cc102"
}
],
"uploadChangeService": [
{
"line": 3,
"batch_code": "bc103",
"custom_code": "cc103",
"message": "Data qualification by system"
}
]
}
}
Data Qualification
Create Data Qualification
Register a batch of data qualification orders
POST
/
v1
/
payout
/
data-qualification
Create Data Qualification
curl --request POST \
--url https://api.sandbox.wepayout.com.br/v1/payout/data-qualification \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"merchant_id": 123,
"service_id": 123,
"data": [
{
"amount": 123,
"custom_code": "<string>",
"batch_code": "<string>",
"notification_url": "<string>",
"beneficiary": {
"name": "<string>",
"bank_code": "<string>",
"bank_branch": "<string>",
"bank_branch_digit": "<string>",
"account": "<string>",
"account_digit": "<string>",
"account_type": "<string>",
"document": "<string>",
"document_type": "<string>",
"birthdate": "<string>",
"phone": "<string>",
"city": "<string>",
"postal_code": "<string>",
"province_code": "<string>",
"address": "<string>"
}
}
]
}
'import requests
url = "https://api.sandbox.wepayout.com.br/v1/payout/data-qualification"
payload = {
"merchant_id": 123,
"service_id": 123,
"data": [
{
"amount": 123,
"custom_code": "<string>",
"batch_code": "<string>",
"notification_url": "<string>",
"beneficiary": {
"name": "<string>",
"bank_code": "<string>",
"bank_branch": "<string>",
"bank_branch_digit": "<string>",
"account": "<string>",
"account_digit": "<string>",
"account_type": "<string>",
"document": "<string>",
"document_type": "<string>",
"birthdate": "<string>",
"phone": "<string>",
"city": "<string>",
"postal_code": "<string>",
"province_code": "<string>",
"address": "<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({
merchant_id: 123,
service_id: 123,
data: [
{
amount: 123,
custom_code: '<string>',
batch_code: '<string>',
notification_url: '<string>',
beneficiary: {
name: '<string>',
bank_code: '<string>',
bank_branch: '<string>',
bank_branch_digit: '<string>',
account: '<string>',
account_digit: '<string>',
account_type: '<string>',
document: '<string>',
document_type: '<string>',
birthdate: '<string>',
phone: '<string>',
city: '<string>',
postal_code: '<string>',
province_code: '<string>',
address: '<string>'
}
}
]
})
};
fetch('https://api.sandbox.wepayout.com.br/v1/payout/data-qualification', 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.sandbox.wepayout.com.br/v1/payout/data-qualification",
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([
'merchant_id' => 123,
'service_id' => 123,
'data' => [
[
'amount' => 123,
'custom_code' => '<string>',
'batch_code' => '<string>',
'notification_url' => '<string>',
'beneficiary' => [
'name' => '<string>',
'bank_code' => '<string>',
'bank_branch' => '<string>',
'bank_branch_digit' => '<string>',
'account' => '<string>',
'account_digit' => '<string>',
'account_type' => '<string>',
'document' => '<string>',
'document_type' => '<string>',
'birthdate' => '<string>',
'phone' => '<string>',
'city' => '<string>',
'postal_code' => '<string>',
'province_code' => '<string>',
'address' => '<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.sandbox.wepayout.com.br/v1/payout/data-qualification"
payload := strings.NewReader("{\n \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\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.sandbox.wepayout.com.br/v1/payout/data-qualification")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.wepayout.com.br/v1/payout/data-qualification")
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 \"merchant_id\": 123,\n \"service_id\": 123,\n \"data\": [\n {\n \"amount\": 123,\n \"custom_code\": \"<string>\",\n \"batch_code\": \"<string>\",\n \"notification_url\": \"<string>\",\n \"beneficiary\": {\n \"name\": \"<string>\",\n \"bank_code\": \"<string>\",\n \"bank_branch\": \"<string>\",\n \"bank_branch_digit\": \"<string>\",\n \"account\": \"<string>\",\n \"account_digit\": \"<string>\",\n \"account_type\": \"<string>\",\n \"document\": \"<string>\",\n \"document_type\": \"<string>\",\n \"birthdate\": \"<string>\",\n \"phone\": \"<string>\",\n \"city\": \"<string>\",\n \"postal_code\": \"<string>\",\n \"province_code\": \"<string>\",\n \"address\": \"<string>\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"message": "All records processed successfully"
}
{
"message": "Error message.",
"info": {
"errors": [
{
"line": 1,
"batch_code": "bc101",
"custom_code": "cc101",
"message": "Name format invalid"
}
],
"uploadSuccess": [
{
"line": 2,
"batch_code": "bc102",
"custom_code": "cc102"
}
],
"uploadChangeService": [
{
"line": 3,
"batch_code": "bc103",
"custom_code": "cc103",
"message": "Data qualification by system"
}
]
}
}
You can use this endpoint to create a data qualification batch. In the data attribute you may pass a list of bank account data to be qualified. You can group your data qualification in batches using the
batch_code field.
Request Body
The Merchant ID. Required when you have access to more than one Merchant.
The service ID. The available services can be retrieved in the endpoint GET /v1/payout/data-qualification/services.Allowed values:
1, 2, 3, 4, 5Array of data qualification records.
Show Data Object
Show Data Object
Amount in local currency, used in services 4 and 5 only.Min:
0.01Max: 150000Example: 1000Custom code (Invoice) must be unique in our database.Example:
YourCustomCodeThe code used to group data qualification processes.Example:
YOURAPPCODEWe will send you an HTTP POST with a Notification Object when deposit status changes.Example:
https://your.endpoint.to.updateBeneficiary information.
Show Beneficiary Object
Show Beneficiary Object
Beneficiary’s full name.Example:
The NameBank code.Example:
147Bank branch.Example:
0000Bank branch digit.Example:
1Account number.Example:
1030000Account digit.Example:
1Account type.Allowed values:
SAVINGS, CHECKINGExample: CHECKINGCPF or CNPJ Number.Example:
12533009091Document type.Allowed values:
cpf, cnpjExample: cpfBeneficiary’s birthdate.Format:
YYYY-MM-DDExample: 1970-01-01Phone number with country code.Example:
5541987456321City name.Example:
CuritibaPostal code.Example:
80200-100State/Province code.Example:
PRStreet address.Example:
Rua a Número 10Webhook Callback
When you provide anotification_url, we will send HTTP POST requests to your endpoint when the data qualification status changes.
Webhook Signature: All data qualification webhooks are signed with an sha256 hash provided in the
Authorization header. The hash is sent as a Bearer token. eg.: Bearer {hash}To validate the signature you must concatenate the request body and your APIKey used to create the payments and hash this string using the sha256 algorithm. For example: {JSON_BODY...}APIKEYWebhook Payload
Our ID.Example:
1An integer value that indicates the step that the data-qualification process is.
1- Processing - Intermediary step2- Valid data - Final step3- Invalid data - Final step
An integer value that indicates the current data-qualification status.
1- Received - The data qualification is received and will be processed soon5- Valid data - Final status6- Invalid data - Final status7- No Process - The account can not be validated - Final status
Your Custom Code.Example:
YOURAPPCODEThe data qualification batch code.Example:
bc101The description of the data qualification update.
Beneficiary name.
Beneficiary document.
Bank code.
Bank branch.
Bank branch digit.
Account number.
Account digit.
Account type:
c for Checking accounts, s for Savings accounts.PIX key if applicable.
Response
All data qualification records provided have been successfully processed.
When some of the records provided in the data list have errors during processing.
Show Error Object
Show Error Object
Error message.
This return object is divided in three properties:
Show Info Object
Show Info Object
Request Example
curl --request POST \
--url 'https://api.sandbox.wepayout.com.br/v1/payout/data-qualification' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {token}' \
--header 'Content-Type: application/json' \
--data '{
"service_id": 2,
"data": [
{
"custom_code": "DQ001",
"batch_code": "BATCH001",
"notification_url": "https://your.endpoint.to.update",
"beneficiary": {
"name": "Maria Jose",
"bank_code": "147",
"bank_branch": "0000",
"bank_branch_digit": "1",
"account": "1030000",
"account_digit": "1",
"account_type": "CHECKING",
"document": "12533009091",
"document_type": "cpf",
"birthdate": "1970-01-01",
"phone": "5541987456321",
"city": "Curitiba",
"postal_code": "80200-100",
"province_code": "PR",
"address": "Rua a Número 10"
}
}
]
}'
async function createDataQualification(data) {
const response = await fetch(
'https://api.sandbox.wepayout.com.br/v1/payout/data-qualification',
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
},
body: JSON.stringify({
service_id: 2,
data: [
{
custom_code: 'DQ001',
batch_code: 'BATCH001',
notification_url: 'https://your.endpoint.to.update',
beneficiary: {
name: 'Maria Jose',
bank_code: '147',
bank_branch: '0000',
bank_branch_digit: '1',
account: '1030000',
account_digit: '1',
account_type: 'CHECKING',
document: '12533009091',
document_type: 'cpf',
birthdate: '1970-01-01',
phone: '5541987456321',
city: 'Curitiba',
postal_code: '80200-100',
province_code: 'PR',
address: 'Rua a Número 10'
}
}
]
})
}
);
if (!response.ok) {
throw new Error(`Failed to create data qualification: ${response.statusText}`);
}
return await response.json();
}
const result = await createDataQualification();
console.log('Data qualification created:', result);
import requests
def create_data_qualification():
url = 'https://api.sandbox.wepayout.com.br/v1/payout/data-qualification'
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {token}',
'Content-Type': 'application/json'
}
payload = {
'service_id': 2,
'data': [
{
'custom_code': 'DQ001',
'batch_code': 'BATCH001',
'notification_url': 'https://your.endpoint.to.update',
'beneficiary': {
'name': 'Maria Jose',
'bank_code': '147',
'bank_branch': '0000',
'bank_branch_digit': '1',
'account': '1030000',
'account_digit': '1',
'account_type': 'CHECKING',
'document': '12533009091',
'document_type': 'cpf',
'birthdate': '1970-01-01',
'phone': '5541987456321',
'city': 'Curitiba',
'postal_code': '80200-100',
'province_code': 'PR',
'address': 'Rua a Número 10'
}
}
]
}
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status()
return response.json()
result = create_data_qualification()
print('Data qualification created:', result)
{
"message": "All records processed successfully"
}
{
"message": "Error message.",
"info": {
"errors": [
{
"line": 1,
"batch_code": "bc101",
"custom_code": "cc101",
"message": "Name format invalid"
}
],
"uploadSuccess": [
{
"line": 2,
"batch_code": "bc102",
"custom_code": "cc102"
}
],
"uploadChangeService": [
{
"line": 3,
"batch_code": "bc103",
"custom_code": "cc103",
"message": "Data qualification by system"
}
]
}
}
Was this page helpful?
⌘I

