Como usar a API para criar um cliente?
Para criar um cliente, você utiliza o endpoint /api/v1/customer
da API.
Você pode acessar aqui a documentação referente a esse endpoint.
Os campos obrigatórios para criar um cliente são os sequintes:
name
: Nome do cliente.
E além do nome é necessário enviar um desses três dados:
taxID
: CPF ou CNPJ do cliente.email
: Email do cliente.phone
: Celular do cliente. (començando com 55 e código de área)
Exemplo
O body da sua requisição será semelhante a um destes exemplos:
Exemplo com taxID
{
"name": "Dan",
"taxID": "360.***.***-72"
}
Exemplo com email
{
"name": "Dan",
"email": "dan@gmail.com"
}
Exemplo com telefone
{
"name": "Dan",
"phone": "554899..."
}
Após efetuar a requisição, se tudo ocorreu bem, o status code da requisição será 2xx
e no body
da resposta, retornaremos o cliente criado.
Retornarmeros a seguinte resposta de exemplo:
{
"customer": {
"name": "NOME DO CLIENTE",
"taxID": { "taxID": "360...", "type": "BR:CPF" },
"correlationID": "d1d46bbd-b010-4beb-b59e-cecf824efb43"
}
}
Exemplos em código
- Shell + cURL
- JavaScript + Fetch
curl 'https://api.woovi.com/api/v1/customer' -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "user-agent: node-fetch" \
--data-binary '{ "name": "Dan", "email": "dan@gmail.com" }'
fetch('https://api.woovi.com/api/v1/customer', {
method: 'POST',
body: JSON.stringify({ name: 'Dan', email: 'dan@gmail.com' }),
headers: {
Authorization: 'AUTHORIZATION',
'Content-Type': 'application/json',
},
}).then((res) => res.json());
Como usar a API para criar um cliente com endereço?
Ao criar um cliente, é possível também adicionar um endereço.
Para criar cobranças que tenham vencimento, multa e juros, é necessário que o cliente sendo cobrado tenha um endereço cadastrado, assim como seu taxID (CPF/CNPJ), eu vou assumir este caso de uso para o exemplo a seguir.
Então, os campos obrigatórios são:
name
: Nome do cliente.taxID
: CPF ou CNPJ do cliente.address
: Endereço do cliente.
Você pode encontrar documentação a respeito da modelagem do objeto de endereço aqui.
Exemplo
O body da requisição, com os dados de endereço adicionados fica semelhante à esta:
{
"name": "Ana",
"taxID": "672.***.***-51",
"address": {
"zipcode": "137...",
"street": "R...",
"number": "15",
"neighborhood": "Centro",
"city": "S...",
"state": "SP",
"complement": "Casa"
}
}
Após efetuar a requisição, se tudo ocorreu bem, o status code da requisição será 2xx
e no body
da resposta, retornaremos o cliente criado.
Retornarmeros a seguinte resposta de exemplo:
{
"customer": {
"name": "ana",
"correlationID": "6ffa...",
"address": {
"zipcode": "137...",
"street": "R...",
"number": "15",
"neighborhood": "Centro",
"city": "S...",
"state": "SP",
"complement": "Casa"
},
"taxID": { "taxID": "67...", "type": "BR:CPF" }
}
}
Exemplos em código
- Shell + cURL
- JavaScript + Fetch
curl 'https://api.woovi.com/api/v1/customer' -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "user-agent: node-fetch" \
--data-binary '{"name": "Ana", "taxID": "672.***.***-51", "address": {
"zipcode": "137...", "street": "R...", "number": "15",
"neighborhood": "Centro", "city": "S...", "state": "SP",
"complement": "Casa" } }'
fetch('https://api.woovi.com/api/v1/customer', {
method: 'POST',
body: JSON.stringify({
name: 'Ana',
taxID: '672.***.***-51',
address: {
zipcode: '137...',
street: 'R...',
number: '15',
neighborhood: 'Centro',
city: 'S...',
state: 'SP',
complement: 'Casa',
},
}),
headers: {
Authorization: 'AUTHORIZATION',
'Content-Type': 'application/json',
},
}).then((res) => res.json());