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
integer
The Merchant ID. Required when you have access to more than one Merchant.
integer
required
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
required
Array of data qualification records.
Show Data Object
Show Data Object
number
Amount in local currency, used in services 4 and 5 only.Min:
0.01Max: 150000Example: 1000string
required
Custom code (Invoice) must be unique in our database.Example:
YourCustomCodestring
required
The code used to group data qualification processes.Example:
YOURAPPCODEstring
We will send you an HTTP POST with a Notification Object when deposit status changes.Example:
https://your.endpoint.to.updateobject
required
Beneficiary information.
Show Beneficiary Object
Show Beneficiary Object
string
required
Beneficiary’s full name.Example:
The Namestring
required
Bank code.Example:
147string
required
Bank branch.Example:
0000string
Bank branch digit.Example:
1string
required
Account number.Example:
1030000string
required
Account digit.Example:
1string
required
Account type.Allowed values:
SAVINGS, CHECKINGExample: CHECKINGstring
required
CPF or CNPJ Number.Example:
12533009091string
required
Document type.Allowed values:
cpf, cnpjExample: cpfstring
Beneficiary’s birthdate.Format:
YYYY-MM-DDExample: 1970-01-01string
Phone number with country code.Example:
5541987456321string
City name.Example:
Curitibastring
Postal code.Example:
80200-100string
State/Province code.Example:
PRstring
Street 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
string
Our ID.Example:
1integer
An integer value that indicates the step that the data-qualification process is.
1- Processing - Intermediary step2- Valid data - Final step3- Invalid data - Final step
integer
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
string
Your Custom Code.Example:
YOURAPPCODEstring
The data qualification batch code.Example:
bc101string
The description of the data qualification update.
string
Beneficiary name.
string
Beneficiary document.
string
Bank code.
string
Bank branch.
string
Bank branch digit.
string
Account number.
string
Account digit.
string
Account type:
c for Checking accounts, s for Savings accounts.string
PIX key if applicable.
Response
object
All data qualification records provided have been successfully processed.
object
When some of the records provided in the data list have errors during processing.
Show Error Object
Show Error Object
string
Error message.
object
This return object is divided in three properties:
Show Info Object
Show Info Object
array
array
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

