Atualizar um contato de um terceiro

Permite atualizar parcialmente um contato existente de um terceiro, incluindo seu status (habilitado ou desabilitado). Somente os campos enviados no body são modificados.

Uso geral — sem add-on específico.

PUT https://app.fracttal.com/api/third_parties_contacts/{third_party_code}/

Parâmetros de entrada — Obrigatórios

ParâmetroLocalizaçãoTipoObrigatórioDescrição
third_party_codeURLtextoSimCódigo do terceiro ao qual o contato pertence. Não diferencia maiúsculas de minúsculas.
id_contactbodyinteiroSimId único do contato do terceiro.

Parâmetros de entrada — Opcionais

ParâmetroTipoObrigatórioDescrição
activebooleanoNãoStatus do contato: true o habilita e false o desabilita. Só é aceito se a empresa tiver habilitada a opção de contatos habilitados. Se for enviado null, é ignorado.
contact_nametexto (máx. 50)NãoNome do contato. Não pode ser vazio nem null. Deve ser único dentro do terceiro.
contact_emailtexto (máx. 200)NãoE-mail do contato. Deve ser único na empresa, sem diferenciar maiúsculas de minúsculas nem espaços.
branch_codetextoNãoCódigo da filial do contato. Deve existir como filial do terceiro. Não pode ser vazio nem null.
roletexto (máx. 100)NãoCargo do contato. Não pode ser vazio nem null.
telephonetexto (máx. 50)NãoTelefone do contato.
moviltexto (máx. 50)NãoCelular do contato.
skypetexto (máx. 50)NãoUsuário do Skype do contato.
linkedintexto (máx. 50)NãoURL do LinkedIn do contato.

Regras da atualização

  • É uma atualização parcial: um campo que não é enviado no body não é modificado.
  • O contato é procurado dentro do terceiro indicado na URL.
  • Um body sem nenhum campo atualizável responde com erro 400.
  • Não é possível alterar o código do terceiro nem mover o contato para outro terceiro.
  • Todas as validações são realizadas antes de salvar: se a requisição for rejeitada, o contato não fica com alterações parciais.
  • Ao desabilitar um contato (active: false), o último colaborador associado a esse contato fica inativo.
  • Não é possível desabilitar um contato que seja responsável ou faça parte da condição de uma regra ativa do automatizador; a requisição responde com erro 409.

Diferenças entre POST, GET e PUT de contatos

POSTGETPUT
OperaçãoCria um contatoConsulta contatosAtualiza parcialmente um contato
Identificação do contatoNão se aplica (um novo é criado)Pelo código do terceiro (opcional)Por id_contact dentro do terceiro da URL
Campos modificáveisTodos os dados do contato na criaçãoNão se aplicaSomente os campos enviados no body
Permite modificar activeNãoNão (apenas permite filtrar e consultar)Sim, é o único que permite

Parâmetros de saída

ParâmetroTipoDescrição
successbooleanoResultado da operação.
messagetextoMensagem da operação.
totalinteiroTotal de registros.
dataobjetoContato atualizado, com os mesmos campos retornados pela consulta de contatos (GET), incluindo active.

Erros

CódigoCausa
400Erro de validação do body: contact_name ou role vazios ou null; branch_code vazio; um valor excede o comprimento máximo do campo (a mensagem indica qual); o body não inclui nenhum campo atualizável; id_contact ausente, não numérico ou decimal; active diferente de true ou false, ou enviado em uma empresa que não tem habilitada a opção de contatos habilitados.
401Token inválido ou ausente.
404O terceiro, o contato (por exemplo, um contato que pertence a outro terceiro ou a outra empresa) ou a filial não existem.
409O e-mail ou o nome do contato já existem; ou se tenta desabilitar um contato com dependências ativas (ERROR_CONTACT_HAS_ACTIVE_DEPENDENCIES).
500Erro não tratado.

Exemplo

Request

PUT https://app.fracttal.com/api/third_parties_contacts/PROV-01/

Request body

{
  "id_contact": 100,
  "contact_email": "[email protected]",
  "telephone": "+57 300 123 4567",
  "active": false
}

Response 200

{
  "success": true,
  "message": "200",
  "data": {
    "id": 100,
    "id_company": 1001,
    "id_third_party": 25,
    "third_parties_code": "PROV-01",
    "third_parties_name": "Proveedor Ejemplo S.A.",
    "contact_name": "Ana Pérez",
    "contact_email": "[email protected]",
    "branch_name": "Sede principal",
    "branch_code": "SUC-01",
    "role": "Jefe de compras",
    "telephone": "+57 300 123 4567",
    "movil": "+57 300 765 4321",
    "skype": "ana.perez",
    "linkedin": "https://www.linkedin.com/in/ana-perez",
    "active": false
  },
  "total": 1
}

Response — body sem campos atualizáveis (400)

Request body:

{
  "id_contact": 100
}

Response:

{
  "success": false,
  "message": "400",
  "data": "[{\"ERROR\": \"At least one field to update is required\"}]",
  "total": 0
}

Response — contato de outro terceiro (404)

{
  "success": false,
  "message": "404",
  "data": "[{\"ERROR\": \"id_contact is not found for this third party\"}]",
  "total": 0
}

Response — contato com dependências ativas (409)

{
  "success": false,
  "message": "409",
  "data": "[{\"ERROR\": \"ERROR_CONTACT_HAS_ACTIVE_DEPENDENCIES\"}]",
  "total": 0
}

TESTE DE CONEXÃO

Path Params
string
required
Language
LoadingLoading…
Response
Click Try It! to start a request and see the response here!