Atualizar split
curl --request PATCH \
--url https://api.sandbox.z2pay.com/v1/splits/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"config": [
{
"recipientId": "<string>",
"value": 1.01,
"type": "sale",
"processingFee": true,
"liable": true
}
],
"salesKey": "<string>",
"checkoutId": "<string>",
"isActive": true
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
config: [
{
recipientId: '<string>',
value: 1.01,
type: 'sale',
processingFee: true,
liable: true
}
],
salesKey: '<string>',
checkoutId: '<string>',
isActive: true
})
};
fetch('https://api.sandbox.z2pay.com/v1/splits/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/splits/{id}"
payload = {
"name": "<string>",
"config": [
{
"recipientId": "<string>",
"value": 1.01,
"type": "sale",
"processingFee": True,
"liable": True
}
],
"salesKey": "<string>",
"checkoutId": "<string>",
"isActive": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "spl_rja7dpb3xfyccdg7ukuicd0am",
"name": "Split padrão produtores",
"config": [
{
"recipientId": "rec_tazseadvfg6aym95njwzvc6fs",
"type": "sale",
"value": 80,
"valueType": "percentage",
"processingFee": true,
"liable": true
},
{
"recipientId": "rec_guuh4ppadxc0n47i82fuseq5u",
"type": "platform_fee",
"value": 20,
"valueType": "percentage",
"processingFee": false,
"liable": false
}
],
"salesKey": "SALES-2025-ABC",
"checkoutId": "chk_yi65vojl1sh936l7b93tdg8ix",
"isActive": true,
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Split not found"
}
}{
"error": "A request with this idempotency key is already being processed"
}{
"error": "Idempotency key already used with a different request body"
}Splits
Atualizar split
Altera uma configuração de divisão. Não mexe nas vendas que já usaram a versão anterior.
PATCH
/
splits
/
{id}
Atualizar split
curl --request PATCH \
--url https://api.sandbox.z2pay.com/v1/splits/{id} \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"name": "<string>",
"config": [
{
"recipientId": "<string>",
"value": 1.01,
"type": "sale",
"processingFee": true,
"liable": true
}
],
"salesKey": "<string>",
"checkoutId": "<string>",
"isActive": true
}
'const options = {
method: 'PATCH',
headers: {'x-api-key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
config: [
{
recipientId: '<string>',
value: 1.01,
type: 'sale',
processingFee: true,
liable: true
}
],
salesKey: '<string>',
checkoutId: '<string>',
isActive: true
})
};
fetch('https://api.sandbox.z2pay.com/v1/splits/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.sandbox.z2pay.com/v1/splits/{id}"
payload = {
"name": "<string>",
"config": [
{
"recipientId": "<string>",
"value": 1.01,
"type": "sale",
"processingFee": True,
"liable": True
}
],
"salesKey": "<string>",
"checkoutId": "<string>",
"isActive": True
}
headers = {
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text){
"id": "spl_rja7dpb3xfyccdg7ukuicd0am",
"name": "Split padrão produtores",
"config": [
{
"recipientId": "rec_tazseadvfg6aym95njwzvc6fs",
"type": "sale",
"value": 80,
"valueType": "percentage",
"processingFee": true,
"liable": true
},
{
"recipientId": "rec_guuh4ppadxc0n47i82fuseq5u",
"type": "platform_fee",
"value": 20,
"valueType": "percentage",
"processingFee": false,
"liable": false
}
],
"salesKey": "SALES-2025-ABC",
"checkoutId": "chk_yi65vojl1sh936l7b93tdg8ix",
"isActive": true,
"createdAt": "2025-06-29T13:45:30.000Z",
"updatedAt": "2025-06-29T13:45:30.000Z"
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Validation failed",
"issues": [
{
"path": "status",
"message": "Status inválido. Valores aceitos: pending, waiting_payment, paid, refused, canceled, refunded"
},
{
"path": "startDate",
"message": "Data deve ser ISO 8601 com timezone (ex.: 2026-06-24T00:00:00Z)"
}
]
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Invalid API key"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "Split not found"
}
}{
"error": "A request with this idempotency key is already being processed"
}{
"error": "Idempotency key already used with a different request body"
}PATCH /splits/:id
Faz parte do recurso Splits — as regras de validação do array config estão lá.
Atualização parcial: envie só o que quer alterar. A resposta é a configuração atualizada.
O
config é substituído por inteiro, não mesclado. Enviar o array significa enviar a divisão
completa: um item que você não repetir deixa de existir. Para mudar o percentual de um recebedor,
mande todos os itens de novo, com o valor novo naquele.As vendas já feitas não mudam. A configuração é lida no momento da cobrança — o que já foi
dividido está registrado na transação e não é reescrito. Alterar aqui vale para as próximas.Isso também significa que não há histórico de versões: ao contrário do preço de um plano, o
split é sobrescrito. Se precisar comparar o antes e o depois, guarde do seu lado.
A validação é a mesma da criação. As quatro regras do
config e os dois níveis de checagem
dos recebedores valem igual — inclusive o que não é checado: o status do vínculo só é
conferido na cobrança. Ver Criar split.Exemplo
curl -X PATCH https://api.sandbox.z2pay.com/v1/splits/spl_t8k3nzc1qvre6y0wjaxm5fdbh \
-H "x-api-key: SUA_CHAVE_DE_SANDBOX" \
-H "Content-Type: application/json" \
-d '{
"name": "Marketplace — 70/30",
"config": [
{
"recipientId": "rec_v57bi6ruyolouw3cpaq2ofy1k",
"value": 70,
"valueType": "percentage",
"type": "sale",
"processingFee": true,
"liable": true
},
{
"recipientId": "rec_h2q8dm4xzkw05rbvtsc7jyneo",
"value": 30,
"valueType": "percentage",
"type": "platform_fee",
"processingFee": false,
"liable": false
}
]
}'
Resposta 200
{
"id": "spl_t8k3nzc1qvre6y0wjaxm5fdbh",
"name": "Marketplace — 70/30",
"isActive": true,
"config": [
{
"recipientId": "rec_v57bi6ruyolouw3cpaq2ofy1k",
"value": 70,
"valueType": "percentage",
"type": "sale",
"processingFee": true,
"liable": true
},
{
"recipientId": "rec_h2q8dm4xzkw05rbvtsc7jyneo",
"value": 30,
"valueType": "percentage",
"type": "platform_fee",
"processingFee": false,
"liable": false
}
],
"updatedAt": "2026-08-11T12:20:00.000Z"
}
Authorizations
API Key da Credential (gerada no Backoffice)
Headers
Chave única para garantir idempotência da requisição
Path Parameters
ID do split
Body
application/json
Response
Split atualizado
Identificador único do registro.
Nome do registro.
Regras de divisão do split por recebedor.
Show child attributes
Show child attributes
Chave de vendas (salesKey) associada ao split.
ID do checkout vinculado à configuração de split.
Indica se o registro está ativo.
Data e hora de criação do registro (ISO 8601).
Data e hora da última atualização do registro (ISO 8601).