Pular para o conteúdo principal

Configura cobrança do cliente

PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/charge

Atualiza as configurações de cobrança/recorrência do cliente (vencimento, frequência, tolerância, multa, valor, dias de fechamento, etc.). Este endpoint é o “centro” do fluxo de mensalista/pós-pago.

Parâmetros de rota

NomeTipoDescrição
userIdnumberIdentificador do usuário
establishmentIdnumberIdentificador do estabelecimento
clientIdstringIdentificador do cliente

Corpo (JSON)

CampoTipoObrigatórioDescrição
establishmentIdnumbersimEstabelecimento
userIdnumbersimUsuário executor
frequencyIdnumbersimFrequência (regra interna)
invoiceDueDaynumbernãoDia do vencimento (0–31)
invoiceDatestringnãoData base (YYYY-MM-DD) para primeira fatura (quando não existe fatura)
contractDueDatestringnãoData de vencimento de contrato (YYYY-MM-DD)
toleranceDaysnumbernãoDias de tolerância
penaltynumbernãoMulta (valor ou percentual; ver penaltyType)
penaltyTypenumbernãoTipo da multa
amountnumbernãoValor recorrente
closingDaysnumbernãoDias para fechamento antes do vencimento (útil para pós-pago)
clientTypeIdnumbernãoTipo do cliente (quando o backend usa para regras específicas)

Requisição

  • Método: PUT
  • Path: /api/\{userId\}/establishment/\{establishmentId\}/clients/\{clientId\}/charge
  • Headers: Authorization, Accept: application/json, Content-Type: application/json

Formato da resposta (JSON)

  • Sucesso (HTTP 200): { "response": "success", "data": <payload> }
  • Erro de validação (HTTP 422): retorna os erros por campo
  • Erro (HTTP 400): { "response": "error", "data": { "msg": "...", "code": "..." } }

Exemplo de resposta (JSON)

Valores ilustrativos; a forma dos campos segue o retorno real.

{
"response": "success",
"data": {
"clientId": "772420260215093421",
"establishmentId": 7724,
"frequencyId": 1,
"invoiceDueDay": 10,
"contractDueDate": "2027-02-15",
"toleranceDays": 3,
"penalty": "2.00",
"penaltyType": 1,
"amount": 350.0,
"closingDays": 5,
"clientTypeId": 2,
"status": 1
}
}

Nuâncias por clientTypeId

  • clientTypeId = 2 (Fatura fixa / mensalista): este endpoint normalmente é usado logo após a criação para garantir que exista a primeira fatura e que o vencimento/frequência fiquem corretos.
  • clientTypeId = 4 (Pós-pago): closingDays e regras de fechamento ganham importância, pois o ciclo pode envolver fechamento de fatura e geração da próxima fatura.
  • clientTypeId = 1 (Avulso): geralmente usa menos recorrência; ainda assim é possível ter parâmetros preenchidos, dependendo do uso.

Passo a passo recomendado (fluxo completo)

  1. Criar cliente: POST /clients/new
  2. Configurar cobrança: PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/charge
  3. Configurar restrições (se aplicável): PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/restrictions
  4. Vincular tabelas/serviços (se aplicável):
    • PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/type-prices-link
    • PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/services-link
  5. Automação de cobrança (se aplicável): PUT /api/{userId}/establishment/{establishmentId}/clients/{clientId}/charge-automations