API: parceiros

Gerencie parceiros de negócio (clientes, fornecedores, contratantes, contratados) via REST.

Parceiros são as pessoas físicas ou jurídicas com quem sua empresa se relaciona — clientes, fornecedores, contratantes, contratados, tomadores, remetentes e destinatários. Use estes endpoints para sincronizar o cadastro com seu ERP/TMS.

Modelo

CampoTipoDescrição
iduuidIdentificador do parceiro (gerado).
person_kindreqenum(pf,pj)Pessoa física ou jurídica.
cpf_cnpjreqstringCPF (11) ou CNPJ (14), só dígitos. Único por empresa.
legal_namereqstringRazão social ou nome completo.
trade_namestringNome fantasia.
iestringInscrição estadual.
ie_isentobooleanIndicador de IE isento.
rntrcstringRNTRC quando aplicável.
rntrc_categoriastringCategoria do RNTRC (ex.: ETC, TAC).
emailstringE-mail de contato.
phonestringTelefone.
whatsappstringWhatsApp.
cepstringCEP.
ufstring(2)UF.
municipio_codigostringCódigo IBGE do município.
municipio_nomestringNome do município.
logradourostringEndereço.
numerostringNúmero.
complementostringComplemento.
bairrostringBairro.
rolesstring[]Papéis aceitos: contratante, contratado, tomador, destinatario, remetente, cliente_frete, fornecedor.
notesstringObservações livres (até 2000 chars).
is_activebooleanAtivo/inativo.
created_atISO timestampData de criação.
updated_atISO timestampÚltima atualização.

Escopo e isolamento

Os endpoints retornam e gravam exclusivamente parceiros da empresa dona da API key.company_id e created_by são preenchidos pelo backend — não envie no payload.
GET/api/public/v1/partnersAuth: API key

Lista parceiros da empresa autenticada. Requer escopo read.

Query params

CampoTipoDescrição
qstringBusca em legal_name, trade_name e cpf_cnpj.
rolestringFiltra por papel (ex.: contratado).
only_activebooleanQuando true, retorna só is_active=true.
limitnumberMáx 200 (default 50).
created_beforeISO timestampPaginação por cursor: traz registros anteriores a esta data.
bash
curl "https://freteflow.log.br/api/public/v1/partners?role=contratado&only_active=true&limit=100" \
  -H "X-API-Key: ff_live_..."
POST/api/public/v1/partnersAuth: API key

Cria um parceiro. Requer escopo write.

bash
curl -X POST https://freteflow.log.br/api/public/v1/partners \
  -H "X-API-Key: ff_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "person_kind": "pj",
    "cpf_cnpj": "12345678000190",
    "legal_name": "Transportes Boa Viagem Ltda",
    "trade_name": "Boa Viagem",
    "rntrc": "12345678",
    "rntrc_categoria": "ETC",
    "email": "contato@boaviagem.com.br",
    "phone": "+5511999990000",
    "uf": "SP",
    "municipio_nome": "São Paulo",
    "roles": ["contratado", "fornecedor"],
    "is_active": true
  }'

Se já existir um parceiro com o mesmo cpf_cnpj na empresa, a API responde 409 com error.code = "partner_cpf_cnpj_exists" e o existing_id do registro.

GET/api/public/v1/partners/{id}Auth: API key

Retorna o parceiro pelo id, incluindo as contas bancárias cadastradas em bank_accounts.

bash
curl https://freteflow.log.br/api/public/v1/partners/3f9b... \
  -H "X-API-Key: ff_live_..."
PATCH/api/public/v1/partners/{id}Auth: API key

Atualiza campos do parceiro. Todos os campos do modelo são opcionais; envie apenas o que mudar.

bash
curl -X PATCH https://freteflow.log.br/api/public/v1/partners/3f9b... \
  -H "X-API-Key: ff_live_..." \
  -H "Content-Type: application/json" \
  -d '{ "trade_name": "Boa Viagem Logística", "is_active": false }'

Contas bancárias

A criação e edição de contas bancárias do parceiro ainda é feita pela tela /cadastros/parceiros. A API retorna as contas existentes na resposta de GET /partners/{id} para consulta. Avise se precisa de POST/PATCH/DELETE de contas via API.

Sem DELETE via API

A exclusão de parceiros não é exposta na API pública. Para remover, use a tela ou marque o registro como is_active: false via PATCH.