1. Exemplo do json:
{ "codigo": 1, "id_pessoa_grupo": 2, "id_tipo_cliente": 3, "id_comissao": 3, "identificacao": "123456789012345678", "cpf_cnpj": "12345678901234", "categoria_pessoa": "FISICA", "id_situacao_duplicata_padrao": 4, "id_pessoa_conceito": 5, "nome_razao_social": "Empresa XYZ", "apelido_nome_fantasia": "XYZ", "data_nascimento_fundacao": "2024-08-28", "data_vigencia_final_limite_credito": "2024-08-28", "associado": "SIM", "revenda": "NAO", "matricula": "12345", "obriga_numero_pedido_terceiro": "SIM", "data_vigencia_inicio_limite_credito": "2024-08-28", "genero": "MASCULINO", "shelf_life_ativo": "SIM", "shelf_life_minimo": 10, "shelf_life_maximo": 20, "url_imagem": "http://example.com/imagem.jpg", "imagem": [ "string" ], "url_assinatura": "http://example.com/assinatura.jpg", "assinatura": [ "string" ], "hash_mobile": "hash123", "desconto_diferenciado_tabela_preco": 10, "estado_civil": "SOLTEIRO", "inscricao_municipal": "123456", "data_inativo": "2024-08-28", "valor_limite_credito": 1000, "crea_cfta": "123456", "prestador": "SIM", "representante": "SIM", "fornecedor": "SIM", "cliente": "SIM", "engenheiro": "SIM", "tecnico_agricola": "SIM", "consulente": "SIM", "fisica_juridica": "FISICA", "codigo_externo": "EXT123", "ativo": "SIM", "data_alteracao": "2024-08-28T17:38:59.317Z", ": { "id": 0, "codigo_externo_procurador": "string", "id_procurador": 0, "ativo": "string", "data_inativo": "2024-08-28", "data_limite": "2024-08-28", "codigo_externo": "string" }, "pessoa_representante": { "id": 0, "nome": "string", "codigo_externo_canal_venda": "string", "id_canal_venda": 0, "margem_minima": 0, "data_inativo": "2024-08-28", "codigo_externo": "string" }, "carteira_representante": [ { "id": 0, "id_endereco": 0, "id_representante": 0, "id_filial": 0 } ], "familiares": [ { "id": 0, "id_pessoa": "string", "id_pessoa_familia": 0, "codigo_externo_pessoa_familia": "string", "nome": "string", "data_nascimento": "2024-08-28", "cpf": "string", "rg": "string", "telefone": "string", "email": "string", "tipo_vinculo": "string", "codigo_externo": "string" } ], "enderecos": [ { "contatos": [ { "id": 0, "descricao": "string", "id_endereco": 0, "id_contato": 0, "codigo_externo": "string" } ], "id": 0, "id_pessoa": 0, "id_tipo_logradouro": 0, "codigo_externo_tipo_logradouro": "string", "id_cidade": 0, "codigo_externo_cidade": "string", "id_regiao": 0, "codigo_externo_regiao": "string", "id_endereco_classificacao": 0, "codigo_externo_endereco_classificacao": "string", "inscricao_produtor": "string", "numero": "string", "logradouro": "string", "bairro": "string", "cep": "string", "tipo_endereco": "string", "produtor": "string", "complemento": "string", "latitude": 0, "longitude": 0, "data_validade_inscricao_suframa": "2024-08-28", "inscricao_suframa": "string", "contribuinte_icms": "string", "consumidor_final": "string", "obriga_nfpe": "string", "cpf_cnpj": "string", "data_validade_inscricao_estadual": "2024-08-28", "nome": "string", "codigo_externo": "string", "ativo": "string" } ], "contatos": [ { "id": 1, "descricao": "Contato principal", "id_pessoa": 2, "id_contato": 3 } ], "anexos": [ { "id": 1, "id_pessoa": 2, "id_tipo_documento": 3, "codigo_externo_tipo_documento": "DOC123", "extensao": "pdf", "url_anexo": "http://example.com/anexo.pdf", "anexo": [ "string" ], "observacao": "Documento importante", "codigo_externo": "ANX123" } ], "referencias_bancarias": [ { "id": 0, "id_pessoa": 0, "id_banco": 0, "codigo_externo_banco": "string", "agencia": "string", "conta": "string", "situacao": "string", "favorecido": "string", "cpf_cnpj": "string", "tipo_conta": "string", "observacao": "string", "codigo_externo": "string" } ], "referencias_comerciais": [ { "id": 0, "id_pessoa": 0, "nome": "string", "cargo": "string", "contato": "string", "telefone": "string", "observacao": "string", "codigo_externo": "string" } ], "referencias_pessoais": [ { "id": 0, "id_pessoa": 0, "nome": "string", "telefone": "string", "observacao": "string", "codigo_externo": "string" } ], "atividades_empregado": [ { "id": 1, "id_pessoa": 2, "empresa": "Empresa XYZ", "cpf_cnpj": "12345678901234", "telefone": "1234567890", "ocupacao": "Gerente", "data_admissao": "2024-08-28", "rendimento_mensal": 5000, "codigo_externo": "EXT456" } ], "atividades_aposentado": [ { "id": 1, "id_pessoa": 2, "instituicao": "INSS", "tipo_beneficio": "A", "cpf_cnpj": "12345678901234", "rendimento_mensal": 2000, "codigo_externo": "EXT456" } ], "atividades_proprietario": [ { "id": 1, "id_pessoa": 2, "empresa": "Empresa XYZ", "cpf_cnpj": "12345678901234", "faturamento_mensal": 10000, "percentual_participacao": 50, "tempo_existencia": 5, "codigo_externo": "EXT456" } ], "atividades_autonomo": [ { "id": 1, "id_pessoa": 2, "profissao": "Engenheiro", "tempo_profissao": 10, "rendimento_mensal": 5000, "codigo_externo": "EXT456" } ], "atividades_agropecuario": [ { "id": 1, "id_pessoa": 2, "id_atividade": 3, "codigo_externo_atividade": "EXT123", "nivel_tecnologico": "ALTO", "data_inicio": "2024-08-28", "producao": 100, "unidade": "TON", "rendimento_anual": 100000, "codigo_externo": "EXT456" } ], "atividades_agricola": [ { "id": 1, "id_pessoa": 2, "id_atividade": 3, "codigo_externo_atividade": "EXT123", "id_pessoa_endereco": 4, "codigo_externo_endereco": "END123", "id_cultura": 5, "codigo_externo_cultura": "CULT123", "id_safra": 6, "codigo_externo_safra": "SAF123", "nivel_tecnologico": "ALTO", "data_inicio": "2024-08-28", "data_conclusao": "2024-08-28", "area_ativa": "SIM", "area_plantada": 100, "producao_anual": 500, "faturamento_anual": 100000, "analise_credito": "SIM", "codigo_externo": "EXT456" } ], "patrimonios_bem_semoventes": [ { "id": 0, "id_pessoa": 0, "especie": "string", "quantidade": 0, "categoria": "string", "raca": "string", "tipo_onus": "string", "credor": "string", "saldo_devedor": 0, "valor_mercado": 0, "produtividade": 0, "codigo_externo": "string" } ], "patrimonios_bem_moveis": [ { "id": 0, "id_pessoa": 0, "tipo_bem_movel": "string", "nome": "string", "ano_fabricacao": 0, "placa_chassi": "string", "antt": "string", "conservacao": "string", "valor_mercado": 0, "marca": "string", "modelo": "string", "descricao": "string", "quantidade": 0, "codigo_externo": "string" } ], "patrimonios_imoveis_arrendados": [ { "id": 0, "id_cidade": 0, "codigo_externo_cidade": "string", "id_matricula": 0, "codigo_externo_matricula": "string", "id_pessoa_endereco": 0, "nome": "string", "area_total": 0, "area_cultivada": 0, "proprietario": "string", "cpf_cnpj": "string", "valor_anual": 0, "data_vigencia": "2024-08-28", "descricao": "string", "codigo_externo": "string" } ], "patrimonios_imoveis_proprios": [ { "id": 0, "id_cidade": 0, "codigo_externo_cidade": "string", "id_matricula": 0, "codigo_externo_matricula": "string", "id_pessoa_endereco": 0, "nome": "string", "area_total": 0, "tipo_imovel": "string", "natureza": "string", "area_cultivada": 0, "situacao_imovel": "string", "valor_mercado": 0, "valor_hectare": 0, "condominio": "string", "percentual_condominio": 0, "descricao": "string", "codigo_externo": "string", "onus_imovel": [ { "id": 0, "id_pessoa_patrimonio_imovel": 0, "codigo_externo_patrimonio_imovel": "string", "tipo_onus": "string", "grau": 0, "hectare": 0, "credor": "string", "ano_vencimento": 0, "saldo_devedor": 0, "observacao": "string", "codigo_externo": "string" } ] } ], "patrimonios_outros_imoveis": [ { "id": 0, "id_cidade": 0, "codigo_externo_cidade": "string", "id_matricula": 0, "codigo_externo_matricula": "string", "id_pessoa_endereco": 0, "nome": "string", "area_total": 0, "tipo_imovel": "string", "valor_mercado": 0, "situacao_imovel": "string", "conservacao": "string", "descricao": "string", "codigo_externo": "string", "onus_imovel": [ { "id": 0, "id_pessoa_patrimonio_imovel": 0, "codigo_externo_patrimonio_imovel": "string", "tipo_onus": "string", "grau": 0, "hectare": 0, "credor": "string", "ano_vencimento": 0, "saldo_devedor": 0, "observacao": "string", "codigo_externo": "string" } ] } ] } Responses
Campos:
codigo: Código do registro no banco de dados do CRM
id_pessoa_grupo: ID do grupo da pessoa
id_tipo_cliente: ID do tipo de cliente
id_comissao: ID da comissão padrão do cliente
identificacao: Identificação da pessoa
cpf_cnpj: CPF ou CNPJ da pessoa
categoria_pessoa: Categoria da pessoa
id_situacao_duplicata_padrao: ID da situação padrão da duplicata
id_pessoa_conceito: ID do conceito da pessoa
nome_razao_social: Nome ou razão social da pessoa
apelido_nome_fantasia: Apelido ou nome fantasia da pessoa
data_nascimento_fundacao: Data de nascimento ou fundação
data_vigencia_final_limite_credito: Data de vencimento do limite de crédito
associado: Indica se a pessoa é associada Valores aceitos: S (Sim), N (Não)
revenda: Indica se é uma revenda Valores aceitos: S (Sim), N (Não)
matricula: Matrícula
obriga_numero_pedido_terceiro: Indica se obriga número de pedido de terceiro Valores aceitos: S (Sim), N (Não)
data_vigencia_inicio_limite_credito: Data de início da vigência do limite de crédito
genero: Gênero da pessoa Valores aceitos: M (Masculino), F (Feminino), J (Jurídico)
shelf_life_ativo: Indica se o shelf life está ativo Valores aceitos: S (Sim), N (Não)
shelf_life_minimo: Shelf life mínimo
shelf_life_maximo: Shelf life máximo
url_imagem: URL da imagem da pessoa
imagem: Imagem da pessoa em bytes
url_assinatura: URL da assinatura da pessoa
assinatura: Assinatura da pessoa em bytes
hash_mobile: Hash mobile indicando que a pessoa foi cadastrada pelo aplicativo mobile desconto_diferenciado_tabela_preco: Desconto diferenciado na tabela de preço
estado_civil: Estado civil da pessoa
inscricao_municipal: Inscrição municipal da empresa
data_inativo: Data de inativação
valor_limite_credito: Valor do limite de crédito
crea_cfta: CREA ou CFTA da pessoa
prestador: Indica se a pessoa é prestador Valores aceitos: S (Sim), N (Não)
representante: Indica se a pessoa é representante Valores aceitos: S (Sim), N (Não)
fornecedor: Indica se a pessoa é fornecedor Valores aceitos: S (Sim), N (Não)
cliente: Indica se a pessoa é cliente Valores aceitos: S (Sim), N (Não)
engenheiro: Indica se a pessoa é engenheiro Valores aceitos: S (Sim), N (Não)
tecnico_agricola: Indica se a pessoa é técnico agrícola Valores aceitos: S (Sim), N (Não)
consulente: Indica se a pessoa é consulente Valores aceitos: S (Sim), N (Não)
fisica_juridica: Indica se a pessoa é física ou jurídica
codigo_externo: Código externo da pessoa
ativo: Indica se a pessoa está ativa Valores aceitos: S (Sim), N (Não)
pessoa_procurador (Dados específicos caso a pessoa seja um procurador).
id: ID do registro no banco de dados do CRM
id_procurador: ID do procurador
ativo: Indica se o procurador está ativo Valores aceitos: S (Sim), N (Não)
data_inativo: Data de inativação do procurador
data_limite: Data limite da procuração
codigo_externo: Código externo
pessoa_representante (Dados específicos caso a pessoa seja um representante).
id: ID do representante
nome: Nome do representante
id_canal_venda: ID do canal de venda
margem_minima: Margem mínima de venda
data_inativo: Data de inativação do representante
codigo_externo: Código externo do representante
carteira_representante (Vínculo entre os representantes e os endereços das pessoas).
id: ID da carteira do representante
id_endereco: ID do endereço da pessoa
id_representante: ID do representante
id_filial: ID da filial do representante
familiares (Lista de familiares da pessoa)
id: ID do registro no banco de dados do CRM
id_pessoa: ID da pessoa
id_pessoa_familia: ID da pessoa da família
nome: Nome da pessoa da família
data_nascimento: Data de nascimento da pessoa da família
cpf: CPF da pessoa da família
rg: RG da pessoa da família
telefone: Telefone da pessoa da família
email: Email da pessoa da família
tipo_vinculo: Tipo de vínculo da pessoa da família. Valores disponíveis: C (Cônjuge), F (Filho), P (Pai), M (Mãe)
codigo_externo: Código externo da pessoa da família
enderecos (Lista de endereços da pessoa).
id: ID do registro no banco de dados do CRM
id_pessoa: ID da pessoa
id_tipo_logradouro: ID do tipo de logradouro
id_cidade: ID da cidade
id_regiao: ID da região
id_endereco_classificacao: ID da classificação do endereço
inscricao_produtor: Inscrição do produtor
numero: Número do endereço
logradouro: Logradouro do endereço
bairro: Bairro do endereço
cep: CEP do endereço
tipo_endereco: Tipo de endereço. Valores disponíveis: C (Cobrança), P (Principal), A (Alternativo)
produtor: Indica se o endereço é de um produtor. Valores disponíveis: S (Sim), N (Não)
complemento: Complemento do endereço
latitude: Latitude do endereço
longitude: Longitude do endereço
data_validade_inscricao_suframa: Data de validade da inscrição no SUFRAMA
inscricao_suframa: Inscrição no SUFRAMA
contribuinte_icms: Indica se é contribuinte de ICMS. Valores disponíveis: S (Sim), N (Não)
consumidor_final: Indica se é consumidor final. Valores disponíveis: S (Sim), N (Não)
obriga_nfpe: Indica se obriga NFPE. Valores disponíveis: S (Sim), N (Não)
cpf_cnpj: CPF ou CNPJ do endereço
data_validade_inscricao_estadual: Data de validade da inscrição estadual
nome: Nome do endereço
codigo_externo: Código externo do endereço
ativo: Indica se o endereço está ativo. Valores disponíveis: S (Sim), N (Não)
Todos os endpoints, com exceção do deletar, retornam o json nesse formato.
2. Endpoints
2.1 - Buscar pessoa pelo código
Endpoint: /pessoa
Tipo: get
Parâmetros:
codigoInterno: Tipo: Inteiro. Código da pessoa no banco de dados do CRM.
codigoExterno: Tipo: String. Código da pessoa no banco de dados do sistema integrado
Validações: É necessário informar pelo menos um dos parâmetros. Caso informado os dois o sistema prioriza o código externo.
Resposta: Status 200 - Retorna a pessoa no formato documentado na sessão Exemplo do json
2.2 - Buscar todas os produtos
Endpoint: /pessoa/todos
Tipo: get
Resposta: Status 200 - Retorna a lista das pessoas no formato documentado na sessão Exemplo do json
2.3 - Cadastrar ou editar pessoa
Endpoint: /pessoa
Tipo: post
Notas:
Informe no corpo da requisição o json conforme exemplo na sessão 1.
Para cadastrar uma nova pessoa não informe o campo “codigo”;
Para editar uma pessoa já existente informe o campo “codigo” com o código da pessoa que deseja editar;
Resposta: Status 200 - Retorna a pessoa cadastrada, no formato documentado na sessão Exemplo do json
2.4 - Inativar uma pessoa
Não é possível deletar uma pessoa, apenas inativar, pois a pessoa pode ter vinculo com pedidos e outros registros. Nesse caso, a pessoa continua no banco de dados porém com o status inativo.
Endpoint: /pessoa
Tipo: delete
Parâmetros:
codigoInterno: Tipo: Inteiro. Código da pessoa no banco de dados do CRM.
codigoExterno: Tipo: String. Código da pessoa no banco de dados do sistema integrado, caso existir.
Resposta: Status 200 - Mensagem: Registro inativado com sucesso.
2.5 - Retornar os metadados da pessoa
Endpoint: /pessoa/metadados
Tipo: get
Descrição: Retorna os campos do json, com as informações de tipo, tamanho máximo, se o campo é requerido, filtrável e/ou ordenável
Resposta: Status 200 - Retorna um json com as informações dos campos da pessoa
2.6 - Pesquisar
Endpoint: /pessoa/pesquisa
Tipo: post
Notas:
Esse endpoint retorna as peneiras baseado nos filtros e na ordenação informados;
Exemplo do corpo da requisição:
{ "pagina": 1, "quantidadeRegistros": 10, "filtros": [ { "campo": "nome_razao_social", "comparacao": "CONTEM", "valor": "A" } ], "ordenacao": [ { "campo": "nome_razao_social", "ordenacao": "ASC" } ] }
Nesse exemplo, estamos filtrando todas as pessoa cuja nome/razão social possua o texto “A”, também estamos ordenando os registros pela nome/razão social de forma ascendente.
2.7 - Vincular familiares a pessoa
Endpoint: /pessoa/familiares
Tipo: post
Parâmetro:
codigoPessoa: Código da pessoa no banco de dados do CRM
Corpo da requisição:
[ { "id": 1, "id_pessoa": "12345", "id_pessoa_familia": 67890, "nome": "João da Silva", "data_nascimento": "2024-08-28", "cpf": "12345678901", "rg": "MG1234567", "telefone": "31987654321", "email": "joao.silva@example.com", "tipo_vinculo": "P", "codigo_externo": "EXT123" } ]
2.8 - Cadastrar dados dos contatos da pessoa
Endpoint: /pessoa
Tipo: post
Parâmetro:
codigoPessoa: Código da pessoa no banco de dados do CRM
Corpo da requisição:
[ { "id": 1, "descricao": "Contato principal", "id_pessoa": 2, "id_contato": 3 } ]