Como alterar a régua de cobrança usando a API?
Para alterar a régua de cobrança da sua empresa, faça uma chamada PATCH para o endpoint /api/v1/notification, autenticando com o seu AppID no header Authorization e enviando o corpo em JSON.
Você pode acessar aqui a documentação de referência desse endpoint.
Requisitos
- A aplicação precisa ter o escopo
NOTIFICATION_PATCH. - A requisição precisa do header
Content-Type: application/json. - Um parceiro altera a régua de cada afiliada com o
AppIDdaquela afiliada.
Como a alteração funciona
O corpo traz uma lista notifications, com um item por aviso que você quer mudar. Cada item tem o notificationType e os campos que mudam:
- um campo enviado substitui aquele campo do aviso;
- um campo não enviado mantém o valor que o aviso já tinha;
- os avisos que não estão na lista continuam como estão.
A régua que resulta da alteração precisa respeitar os limites de cada aviso, descritos em O que é a régua de cobrança?. Se algum item for inválido, nada é salvo, nem os itens válidos.
A resposta traz a régua inteira, já com a alteração.
Exemplos
Desligar o aviso de cobrança criada
Só active muda. Os canais do aviso e os outros avisos continuam como estão.
curl -X PATCH https://api.woovi.com/api/v1/notification \
-H "Authorization: <AppID>" \
-H "Content-Type: application/json" \
-d '{
"notifications": [
{
"notificationType": "NOTIFY_CUSTOMER_ON_CHARGE_CREATED",
"active": false
}
]
}'
Trocar os momentos do lembrete antes do vencimento
offsets substitui todos os momentos do aviso: o aviso passa a ter só os momentos enviados.
{
"notifications": [
{
"notificationType": "NOTIFY_CUSTOMER_BEFORE_CHARGE_DUE_DATE",
"offsets": [
{ "value": 3, "unit": "DAY" },
{ "value": 1, "unit": "DAY" }
]
}
]
}
Enviar o comprovante só por e-mail
{
"notifications": [
{
"notificationType": "NOTIFY_CUSTOMER_ON_CHARGE_PAID",
"active": true,
"channels": ["EMAIL"]
}
]
}
Ligar o aviso depois do vencimento e desligar o do dia do vencimento
Vários avisos podem mudar na mesma requisição, desde que cada notificationType apareça uma vez só.
{
"notifications": [
{
"notificationType": "NOTIFY_CUSTOMER_ON_CHARGE_DUE_DATE",
"active": false
},
{
"notificationType": "NOTIFY_CUSTOMER_AFTER_CHARGE_DUE_DATE",
"active": true,
"offsets": [
{ "value": 1, "unit": "DAY" },
{ "value": 3, "unit": "DAY" }
]
}
]
}
Erros
Toda resposta de erro traz o motivo em error. Um 400 significa que nada foi salvo.
{
"error": "Um aviso aceita no máximo 5 momentos."
}
| Status | Quando |
|---|---|
400 | O corpo não tem a lista notifications, ou a lista está vazia. |
400 | Um item traz só o notificationType, um campo desconhecido, ou repete um notificationType de outro item. |
400 | O notificationType não existe ou não pode ser alterado pela API. |
400 | A régua que resulta fere um limite do aviso: canal que o aviso não aceita, aviso ligado sem canal ou sem momento, mais de 5 momentos, momento fora do intervalo do aviso, dois momentos no mesmo instante ou anexo que o aviso não aceita. |
400 | A régua da sua empresa ainda não pode ser configurada. Fale com o suporte. |
400 | Outra alteração da régua foi salva ao mesmo tempo. Envie a requisição de novo. |
401 | AppID inválido. |
403 | A aplicação não tem o escopo NOTIFICATION_PATCH. |
405 | O método não é GET nem PATCH. |