Pular para o conteúdo principal

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 AppID daquela 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."
}
StatusQuando
400O corpo não tem a lista notifications, ou a lista está vazia.
400Um item traz só o notificationType, um campo desconhecido, ou repete um notificationType de outro item.
400O notificationType não existe ou não pode ser alterado pela API.
400A 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.
400A régua da sua empresa ainda não pode ser configurada. Fale com o suporte.
400Outra alteração da régua foi salva ao mesmo tempo. Envie a requisição de novo.
401AppID inválido.
403A aplicação não tem o escopo NOTIFICATION_PATCH.
405O método não é GET nem PATCH.