curl --request POST \
--url https://app.escrybe.com.br/api/v2/post \
--header 'Content-Type: application/json' \
--data '
{
"userSecurityToken": "<string>",
"name": "<string>",
"street_number": "<string>",
"zip": "<string>",
"paymentMethod": "escrybe_credits",
"team_member_id": 123,
"ar_type": "physical",
"virtualbox": "0",
"addr1": "<string>",
"addr2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "Brasil",
"name_sender": "<string>",
"addr1_sender": "<string>",
"street_number_sender": "<string>",
"addr2_sender": "<string>",
"zip_sender": "<string>",
"city_sender": "<string>",
"state_sender": "<string>",
"country_sender": "Brasil",
"toAddrOnly": 0,
"tag": "<string>",
"test": "0",
"client_request_id": "<string>",
"pdfFile": "<string>",
"docxFile": "<string>",
"variables": "<string>",
"duplex_printing": 1,
"envelope_type": "regular",
"telegram_msg": "<string>",
"telegram_post_dated_date": "2023-12-25",
"telegram_sender_copy_format": "both",
"telegram_delivery_confirmation_format": "both",
"telegram_additional_email": "jsmith@example.com",
"ecarta_msg": "<string>",
"use_client_contract": "0"
}
'import requests
url = "https://app.escrybe.com.br/api/v2/post"
payload = {
"userSecurityToken": "<string>",
"name": "<string>",
"street_number": "<string>",
"zip": "<string>",
"paymentMethod": "escrybe_credits",
"team_member_id": 123,
"ar_type": "physical",
"virtualbox": "0",
"addr1": "<string>",
"addr2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "Brasil",
"name_sender": "<string>",
"addr1_sender": "<string>",
"street_number_sender": "<string>",
"addr2_sender": "<string>",
"zip_sender": "<string>",
"city_sender": "<string>",
"state_sender": "<string>",
"country_sender": "Brasil",
"toAddrOnly": 0,
"tag": "<string>",
"test": "0",
"client_request_id": "<string>",
"pdfFile": "<string>",
"docxFile": "<string>",
"variables": "<string>",
"duplex_printing": 1,
"envelope_type": "regular",
"telegram_msg": "<string>",
"telegram_post_dated_date": "2023-12-25",
"telegram_sender_copy_format": "both",
"telegram_delivery_confirmation_format": "both",
"telegram_additional_email": "jsmith@example.com",
"ecarta_msg": "<string>",
"use_client_contract": "0"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
userSecurityToken: '<string>',
name: '<string>',
street_number: '<string>',
zip: '<string>',
paymentMethod: 'escrybe_credits',
team_member_id: 123,
ar_type: 'physical',
virtualbox: '0',
addr1: '<string>',
addr2: '<string>',
city: '<string>',
state: '<string>',
country: 'Brasil',
name_sender: '<string>',
addr1_sender: '<string>',
street_number_sender: '<string>',
addr2_sender: '<string>',
zip_sender: '<string>',
city_sender: '<string>',
state_sender: '<string>',
country_sender: 'Brasil',
toAddrOnly: 0,
tag: '<string>',
test: '0',
client_request_id: '<string>',
pdfFile: '<string>',
docxFile: '<string>',
variables: '<string>',
duplex_printing: 1,
envelope_type: 'regular',
telegram_msg: '<string>',
telegram_post_dated_date: '2023-12-25',
telegram_sender_copy_format: 'both',
telegram_delivery_confirmation_format: 'both',
telegram_additional_email: 'jsmith@example.com',
ecarta_msg: '<string>',
use_client_contract: '0'
})
};
fetch('https://app.escrybe.com.br/api/v2/post', 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://app.escrybe.com.br/api/v2/post",
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([
'userSecurityToken' => '<string>',
'name' => '<string>',
'street_number' => '<string>',
'zip' => '<string>',
'paymentMethod' => 'escrybe_credits',
'team_member_id' => 123,
'ar_type' => 'physical',
'virtualbox' => '0',
'addr1' => '<string>',
'addr2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => 'Brasil',
'name_sender' => '<string>',
'addr1_sender' => '<string>',
'street_number_sender' => '<string>',
'addr2_sender' => '<string>',
'zip_sender' => '<string>',
'city_sender' => '<string>',
'state_sender' => '<string>',
'country_sender' => 'Brasil',
'toAddrOnly' => 0,
'tag' => '<string>',
'test' => '0',
'client_request_id' => '<string>',
'pdfFile' => '<string>',
'docxFile' => '<string>',
'variables' => '<string>',
'duplex_printing' => 1,
'envelope_type' => 'regular',
'telegram_msg' => '<string>',
'telegram_post_dated_date' => '2023-12-25',
'telegram_sender_copy_format' => 'both',
'telegram_delivery_confirmation_format' => 'both',
'telegram_additional_email' => 'jsmith@example.com',
'ecarta_msg' => '<string>',
'use_client_contract' => '0'
]),
CURLOPT_HTTPHEADER => [
"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://app.escrybe.com.br/api/v2/post"
payload := strings.NewReader("{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.escrybe.com.br/api/v2/post")
.header("Content-Type", "application/json")
.body("{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.escrybe.com.br/api/v2/post")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"status_message": "Sucesso - pedido aceito",
"data": "2607031"
}Create an order
Creates a letter, registered letter, telegram, mala direta, Sedex or e-Carta order. The required fields depend on shipType. PDF documents may be sent as base64, a URL or a multipart file upload.
curl --request POST \
--url https://app.escrybe.com.br/api/v2/post \
--header 'Content-Type: application/json' \
--data '
{
"userSecurityToken": "<string>",
"name": "<string>",
"street_number": "<string>",
"zip": "<string>",
"paymentMethod": "escrybe_credits",
"team_member_id": 123,
"ar_type": "physical",
"virtualbox": "0",
"addr1": "<string>",
"addr2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "Brasil",
"name_sender": "<string>",
"addr1_sender": "<string>",
"street_number_sender": "<string>",
"addr2_sender": "<string>",
"zip_sender": "<string>",
"city_sender": "<string>",
"state_sender": "<string>",
"country_sender": "Brasil",
"toAddrOnly": 0,
"tag": "<string>",
"test": "0",
"client_request_id": "<string>",
"pdfFile": "<string>",
"docxFile": "<string>",
"variables": "<string>",
"duplex_printing": 1,
"envelope_type": "regular",
"telegram_msg": "<string>",
"telegram_post_dated_date": "2023-12-25",
"telegram_sender_copy_format": "both",
"telegram_delivery_confirmation_format": "both",
"telegram_additional_email": "jsmith@example.com",
"ecarta_msg": "<string>",
"use_client_contract": "0"
}
'import requests
url = "https://app.escrybe.com.br/api/v2/post"
payload = {
"userSecurityToken": "<string>",
"name": "<string>",
"street_number": "<string>",
"zip": "<string>",
"paymentMethod": "escrybe_credits",
"team_member_id": 123,
"ar_type": "physical",
"virtualbox": "0",
"addr1": "<string>",
"addr2": "<string>",
"city": "<string>",
"state": "<string>",
"country": "Brasil",
"name_sender": "<string>",
"addr1_sender": "<string>",
"street_number_sender": "<string>",
"addr2_sender": "<string>",
"zip_sender": "<string>",
"city_sender": "<string>",
"state_sender": "<string>",
"country_sender": "Brasil",
"toAddrOnly": 0,
"tag": "<string>",
"test": "0",
"client_request_id": "<string>",
"pdfFile": "<string>",
"docxFile": "<string>",
"variables": "<string>",
"duplex_printing": 1,
"envelope_type": "regular",
"telegram_msg": "<string>",
"telegram_post_dated_date": "2023-12-25",
"telegram_sender_copy_format": "both",
"telegram_delivery_confirmation_format": "both",
"telegram_additional_email": "jsmith@example.com",
"ecarta_msg": "<string>",
"use_client_contract": "0"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
userSecurityToken: '<string>',
name: '<string>',
street_number: '<string>',
zip: '<string>',
paymentMethod: 'escrybe_credits',
team_member_id: 123,
ar_type: 'physical',
virtualbox: '0',
addr1: '<string>',
addr2: '<string>',
city: '<string>',
state: '<string>',
country: 'Brasil',
name_sender: '<string>',
addr1_sender: '<string>',
street_number_sender: '<string>',
addr2_sender: '<string>',
zip_sender: '<string>',
city_sender: '<string>',
state_sender: '<string>',
country_sender: 'Brasil',
toAddrOnly: 0,
tag: '<string>',
test: '0',
client_request_id: '<string>',
pdfFile: '<string>',
docxFile: '<string>',
variables: '<string>',
duplex_printing: 1,
envelope_type: 'regular',
telegram_msg: '<string>',
telegram_post_dated_date: '2023-12-25',
telegram_sender_copy_format: 'both',
telegram_delivery_confirmation_format: 'both',
telegram_additional_email: 'jsmith@example.com',
ecarta_msg: '<string>',
use_client_contract: '0'
})
};
fetch('https://app.escrybe.com.br/api/v2/post', 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://app.escrybe.com.br/api/v2/post",
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([
'userSecurityToken' => '<string>',
'name' => '<string>',
'street_number' => '<string>',
'zip' => '<string>',
'paymentMethod' => 'escrybe_credits',
'team_member_id' => 123,
'ar_type' => 'physical',
'virtualbox' => '0',
'addr1' => '<string>',
'addr2' => '<string>',
'city' => '<string>',
'state' => '<string>',
'country' => 'Brasil',
'name_sender' => '<string>',
'addr1_sender' => '<string>',
'street_number_sender' => '<string>',
'addr2_sender' => '<string>',
'zip_sender' => '<string>',
'city_sender' => '<string>',
'state_sender' => '<string>',
'country_sender' => 'Brasil',
'toAddrOnly' => 0,
'tag' => '<string>',
'test' => '0',
'client_request_id' => '<string>',
'pdfFile' => '<string>',
'docxFile' => '<string>',
'variables' => '<string>',
'duplex_printing' => 1,
'envelope_type' => 'regular',
'telegram_msg' => '<string>',
'telegram_post_dated_date' => '2023-12-25',
'telegram_sender_copy_format' => 'both',
'telegram_delivery_confirmation_format' => 'both',
'telegram_additional_email' => 'jsmith@example.com',
'ecarta_msg' => '<string>',
'use_client_contract' => '0'
]),
CURLOPT_HTTPHEADER => [
"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://app.escrybe.com.br/api/v2/post"
payload := strings.NewReader("{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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://app.escrybe.com.br/api/v2/post")
.header("Content-Type", "application/json")
.body("{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.escrybe.com.br/api/v2/post")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"userSecurityToken\": \"<string>\",\n \"name\": \"<string>\",\n \"street_number\": \"<string>\",\n \"zip\": \"<string>\",\n \"paymentMethod\": \"escrybe_credits\",\n \"team_member_id\": 123,\n \"ar_type\": \"physical\",\n \"virtualbox\": \"0\",\n \"addr1\": \"<string>\",\n \"addr2\": \"<string>\",\n \"city\": \"<string>\",\n \"state\": \"<string>\",\n \"country\": \"Brasil\",\n \"name_sender\": \"<string>\",\n \"addr1_sender\": \"<string>\",\n \"street_number_sender\": \"<string>\",\n \"addr2_sender\": \"<string>\",\n \"zip_sender\": \"<string>\",\n \"city_sender\": \"<string>\",\n \"state_sender\": \"<string>\",\n \"country_sender\": \"Brasil\",\n \"toAddrOnly\": 0,\n \"tag\": \"<string>\",\n \"test\": \"0\",\n \"client_request_id\": \"<string>\",\n \"pdfFile\": \"<string>\",\n \"docxFile\": \"<string>\",\n \"variables\": \"<string>\",\n \"duplex_printing\": 1,\n \"envelope_type\": \"regular\",\n \"telegram_msg\": \"<string>\",\n \"telegram_post_dated_date\": \"2023-12-25\",\n \"telegram_sender_copy_format\": \"both\",\n \"telegram_delivery_confirmation_format\": \"both\",\n \"telegram_additional_email\": \"jsmith@example.com\",\n \"ecarta_msg\": \"<string>\",\n \"use_client_contract\": \"0\"\n}"
response = http.request(request)
puts response.read_body{
"status": 200,
"status_message": "Sucesso - pedido aceito",
"data": "2607031"
}Body
Your account security token.
1 Carta Simples · 2 Carta Registrada · 3 Carta Registrada + AR · 4 Telegrama · 5 Mala Direta · 6 Sedex · 7 Sedex + AR · 8 eCarta Simples · 9 eCarta Registrada · 10 eCarta Registrada + AR. Sedex (6, 7) is only accepted with virtualbox=1 or when the sender address is in Jaú/SP.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Recipient name. Required fields sent blank (or containing only spaces) are rejected.
1 - 60Building number. For Telegrama and eCarta (shipTypes 4, 8, 9, 10) it must contain at least one letter or digit — Correios requires the number in its own field. Use S/N when the address has none; - and . are rejected.
1 - 15Recipient ZIP (CEP), 8 digits. Punctuation is stripped, so 78470-000 and 78470000 are equivalent; anything that is not 8 digits is rejected. Validated against Correios for Brazilian addresses and the state is cross-checked against the CEP. A CEP that Correios has REPLACED is NOT rejected: the order is created with the new CEP and the success status_message says so (e.g. "CEP do destinatario 78460-000 foi alterado pelos Correios e corrigido automaticamente para 78470-000.").
^\d{5}-?\d{3}$escrybe_credits, invoice, team Required when paymentMethod=team. It is NOT the team id: it is the id of YOUR membership in that team (team_members.id), which differs for each member. Get it from GET /api/v2/teams or from the panel (Times → "ID para a API"). The team owner has one too. A value that is not one of your memberships answers 403.
electronic is only allowed for shipTypes 3, 7 and 10.
physical, electronic Virtual Box service — when 1 (or "true"), the sender address is replaced by Escrybe's facility (Jaú/SP) and Virtual Box pricing applies. This is also how you send Sedex (shipType 6 and 7) from a sender address outside Jaú/SP, which is otherwise refused.
0, 1 Street (logradouro). Optional: when omitted or blank, it is filled from the CEP and the success status_message says so (e.g. "Endereco do destinatario completado pelo CEP: Avenida Paulista, São Paulo, SP."). Required when the CEP has no street (a city-wide CEP, which carries only city and state) or when Correios cannot be reached at that moment — the 400 names the missing fields. A value you send always wins over the CEP's.
6040Optional: filled from the CEP when omitted or blank (same rules as addr1).
40For Brazilian addresses this must be the 2-letter UF (e.g. SP). Optional: filled from the CEP when omitted or blank; when sent, it must match the CEP's state.
40Optional: omitted or blank defaults to Brasil and the success status_message says so. Note for every text field of the address: the strings null, undefined, None, nan and nil (any case) are treated as BLANK, not as a value — they are what a serializer writes for an empty variable. A required field sent that way is rejected with 400 like a blank one.
60Sender block. name_sender, street_number_sender, zip_sender and country_sender are required for a request sender; addr1_sender, city_sender and state_sender go all three together or none of them (none: filled from zip_sender, same rules as the recipient). If any of the four is missing, or only one or two of the three are sent, the WHOLE block is taken from your account profile — including the fields you did send, which are overwritten. A profile with no street, city or state has them filled from its CEP; a profile with no CEP fails with 400.
60601540Sender ZIP (CEP), 8 digits. Same rules as zip, including the replaced-CEP auto-correction.
^\d{5}-?\d{3}$4040Must be present to use the request sender (see name_sender); blank defaults to Brasil with a notice in status_message.
60Only honored for shipTypes 2, 3, 6, 7 and 10; forced to 0 otherwise.
0, 1 Optional label to organize your orders. Stored normalized: lowercase, accents removed, anything other than a-z, 0-9 becomes a hyphen ("Cobrança Março" → "cobranca-marco"). Filter the order lists by this value.
Validation mode. Accepts 1/true/yes/on to validate without creating the order (the calculated price is returned) and 0/false/no/off to submit for real. ANY other value is rejected with 400 — it used to fall through to a real, billable order.
Optional idempotency key (a UUID, for example), unique per order you intend to create. If the response to a POST is lost (timeout, network) and you repeat it with the same key, the API answers 200 with the visual_id of the order already created instead of creating a second one. A repeat while the first request is still being processed gets 409. Keys are remembered for 30 days. Invalid format: 400.
^[A-Za-z0-9-]{8,64}$Required for shipTypes 1,2,3,5,6,7. base64 string, URL (public Google Docs/Drive links supported), or multipart file. Max 20 MB as multipart or base64 and 4 MB by URL (400 above that) and max 150 pages; password-protected PDFs are rejected.
Optional alternative to pdfFile for shipTypes 1,2,3,5,6,7: a Word (.docx) template as base64 or multipart file. Every {{variable}} in the document (body, headers, footers) is replaced with the value given in variables for this recipient, then the result is converted to the PDF that gets printed. When both are sent, docxFile wins. Max 20 MB (400 above that). Returns 503 if DOCX conversion is not available or all conversion slots are busy (retry shortly).
Placeholders in telegram_msg and ecarta_msg are substituted ONLY when this field is sent (non-empty); without it the text is stored exactly as received, {{...}} included. A docxFile template is always rendered. A malformed value is rejected with 400 before any charge.
Optional JSON object {"nome": "Ana", "valor": "R$ 120,00"} with this recipient's values for the {{variable}} placeholders in telegram_msg, ecarta_msg or docxFile. Names are case/accent-insensitive ({{ Número do Contrato }} = numero_do_contrato); a placeholder with no value is rendered empty. Max 50 variables, 2000 characters each. Page count and price are computed on the rendered text. The recipient fields of this request are ALWAYS available as placeholders, in English or Portuguese, without being sent here: {{name}}/{{nome}}, {{addr1}}/{{endereco}}, {{street_number}}/{{numero}}, {{addr2}}/{{complemento}}, {{zip}}/{{cep}} (formatted 00000-000, after the Correios correction), {{city}}/{{cidade}}, {{state}}/{{uf}}, {{country}}/{{pais}}. A value sent in variables under one of these names is ignored in favor of the field.
Also accepts "true"/"false". Forced to 1 for single-page PDFs and to 0 when envelope_type=autoenvelope.
0, 1 autoenvelope requires a single-page PDF.
regular, autoenvelope Required for shipType=4. Min 10 chars; rendered content limited to 10 pages.
Required (0 or 1) when shipType=4.
0, 1 Required when telegram_post_dated=1; must be a future date (tomorrow or later).
Required (0 or 1) when shipType=4.
0, 1 Required (0 or 1) when shipType=4.
0, 1 How the sender copy is delivered when telegram_sender_copy=1: physical (paper, by mail), electronic (e-mail from Correios to the account e-mail) or both.
physical, electronic, both How the delivery confirmation is delivered when telegram_delivery_confirmation=1: physical (paper, by mail), electronic (e-mail from Correios to the account e-mail) or both.
physical, electronic, both Single e-mail address that Correios use for the electronic copy of the telegram additionals (sender copy and delivery confirmation). Defaults to the e-mail of the account placing the order. An Escrybe return mailbox for the order is always added alongside it, so the document can be attached to the order. A malformed address is rejected with 400.
254Required for shipTypes 8,9,10. Min 10 chars; may contain HTML. Rendered content limited to 10 pages.
Post through your own Correios contract. Only for shipTypes 2,3,4,6,7,8,9,10; requires a PJ account with Correios credentials (API user, token, contract number and card) registered and a plan that allows it. Pricing changes: Correios bills postage, freight, AR, Mão Própria and telegram extras to YOUR contract, and Escrybe charges only handling/printing per your plan (plus extra sheets, single-sided printing, AutoEnvelope and VirtualBox where they apply). The Correios freight is quoted on your contract when the order is placed and returned as shipping_cost by GET /order — reported, not charged. A failed authentication or quote on your contract refuses the order with HTTP 400.
0, 1