Pular para o conteúdo principal

Documentação da API

POST /insert_contact

Resumo

Este endpoint permite criar um novo contato em uma unidade específica.


Descrição

Utilize este endpoint para inserir um novo contato no sistema, associado a uma unidade específica. O contato pode ser uma pessoa física (natural_person) ou jurídica (legal), com informações como CPF/CNPJ, nome, endereço, e outros detalhes.


Requisição

Body da Requisição

O corpo deve ser um objeto JSON com os seguintes parâmetros:

ParâmetroTipoObrigatórioDescriçãoExemplo
access_tokenstringSimToken de autenticação do usuário.aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
unit_tokenstringSimToken identificador da unidade.aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
typestringSimTipo de contato (legal ou natural_person).natural_person
registerstringSimCPF (pessoa física) ou CNPJ (pessoa jurídica).12345678909 ou 12345678000195
fullNamestringSim (pessoa física)Nome completo do contato (para natural_person).João Silva
fantasyNamestringNãoNome fantasia (para legal).Empresa XYZ
socialReasonstringSim (pessoa jurídica)Razão social (para legal).XYZ Comércio Ltda
birthDatestringNãoData de nascimento (formato DD/MM/YYYY).15/05/1990
phonestringNãoNúmero de telefone.11987654321
emailstringNãoEndereço de e-mail.[email protected]
addressstringNãoEndereço completo.Rua Exemplo, 123
zip_codestringNãoCEP (apenas números).12345678
statestringNãoEstado (sigla).SP
citystringNãoCidade.São Paulo
neighborhoodstringNãoBairro.Centro
observationstringNãoObservações sobre o contato.Cliente estratégico
data_bankstringNãoDados bancários do contato.Banco: 001, Ag: 1234, Conta: 56789-0
numberstringNãoNúmero do endereço.123
complementstringNãoComplemento do endereço.Apto 45

Exemplo de Requisição

Curl (Pessoa Física)

curl -X POST 'https://portal.fipli.pro/api/v1/insert_contact' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "<access_token>",
"unit_token": "<unit_token>",
"type": "natural_person",
"register": "<register>",
"fullName": "<fullName>",
"birthDate": "<birthDate>",
"phone": "<phone>",
"email": "<email>",
"address": "<address>",
"zip_code": "<zip_code>",
"state": "<state>",
"city": "<city>",
"neighborhood": "<neighborhood>",
"observation": "<observation>",
"data_bank": "<data_bank>",
"number": "<number>",
"complement": "<complement>"
}'

Curl (Pessoa Jurídica)

curl -X POST 'https://portal.fipli.pro/api/v1/insert_contact' \
-H 'Content-Type: application/json' \
-d '{
"access_token": "<access_token>",
"unit_token": "<unit_token>",
"type": "legal",
"register": "<register>",
"fantasyName": "<fantasyName>",
"socialReason": "<socialReason>",
"phone": "<phone>",
"email": "<email>",
"address": "<address>",
"zip_code": "<zip_code>",
"state": "<state>",
"city": "<city>",
"neighborhood": "<neighborhood>",
"observation": "<observation>",
"data_bank": "<data_bank>",
"number": "<number>",
"complement": "<comlpement>"
}'

Resposta

200 OK

Criação realizada com sucesso.

{
"success": true,
"message": "Contact inserted successfully",
"token": "<token>"
}

Erros Comuns

StatusMensagemDescrição
400"Missing required parameters."Algum parâmetro obrigatório (access_token, unit_token, type, register) não foi enviado.
400"Invalid CPF."O CPF fornecido é inválido (para type: natural_person).
400"Invalid CNPJ."O CNPJ fornecido é inválido (para type: legal).
400"Full name is required for natural persons."O campo fullName é obrigatório para pessoa física.
400"Company name (social reason) is required for legal entities."O campo socialReason é obrigatório para pessoa jurídica.
400"Invalid contact type."O tipo de contato fornecido não é legal ou natural_person.
403"Invalid authentication data."Token de autenticação inválido ou não autorizado.
404"Unit not found."A unidade com o unit_token fornecido não foi encontrada.
500"An unexpected error occurred. Please try again later."Erro interno no servidor.

Observações

  • O campo register deve ser um CPF válido para natural_person ou um CNPJ válido para legal. A validação é feita após a remoção de caracteres não numéricos.
  • O campo birthDate deve estar no formato DD/MM/YYYY e será convertido para YYYY-MM-DD para armazenamento.
  • Os campos phone e zip_code têm caracteres não numéricos removidos antes do armazenamento.
  • Campos opcionais podem ser omitidos ou enviados como null.
  • A inserção é realizada de forma transacional, garantindo a consistência dos dados no banco.
  • O contato é automaticamente marcado como ativo (active: true) ao ser criado.
  • Certifique-se de que os tokens estejam válidos e que a unidade exista no sistema.