Este artigo de solução o ajudará a descobrir como criar e atualizar contatos que possuem campos personalizados com APIs.

 

PASSO 1: Obtenha o nome do campo personalizado.

Para obter o nome do campo personalizado Departamento, a seguinte chamada de API pode ajudá-lo. Esta API irá listar todos os campos de contato padrão e personalizados.

Solicitar URI: http://domain.freshdesk.com/api/v2/contact_fields

Método de solicitação: GET


Código de amostra: 

curl -u API_KEY: X -X GET http://domain.freshdesk.com/api/v2/contact_fields


Resposta de amostra:

 [
{
"editable_in_signup": falso,
"id": 14,
"label": "Departamento",
"nome": "departamento",
"posição": 1,
"tipo": "texto_personalizado",
"default": falso,
"customers_can_edit": verdadeiro,
"label_for_customers": "Departamento",
"required_for_customers": false,
"display_for_customers": verdadeiro,
"required_for_agents": false,
"created_at": "2016-02-05T14: 02: 59Z",
"updated_at": "2016-02-05T14: 02: 59Z"
},
{
"editable_in_signup": verdadeiro,
"id": 1,
"label": "Nome Completo",
"nome nome",
"posição": 2,
"type": "default_name",
"default": verdadeiro,
"customers_can_edit": verdadeiro,
"label_for_customers": "Nome completo",
"required_for_customers": verdadeiro,
"display_for_customers": verdadeiro,
"required_for_agents": verdadeiro,
"created_at": "2016-01-04T09: 19: 44Z",
"updated_at": "2016-01-04T09: 19: 44Z"
},
{
"editable_in_signup": falso,
"id": 2,
"rótulo": "Título",
"nome": "job_title",
"posição": 3,
"tipo": "default_job_title",
"default": verdadeiro,
"customers_can_edit": verdadeiro,
"label_for_customers": "Título",
"required_for_customers": false,
"display_for_customers": verdadeiro,
"required_for_agents": false,
"created_at": "2016-01-04T09: 19: 44Z",
"updated_at": "2016-01-04T09: 19: 44Z"
},
]

Você pode filtrar o campo de contato que possui etiqueta de etiqueta como Departamento . No exemplo acima, o nome do nosso campo personalizado é departamento .


Etapa 2: Criar contato com campos personalizados

 

Solicitar URI: http://domain.freshdesk.com/api/v2/contacts

Método de solicitação: POST 


Código de amostra:

 curl -u API_KEY: X -H "Content-Type: application / json" -X POST -d '{“name”: “Clark Kent”, “email”: “superman@freshdesk.com”, “custom_fields”: { “Departamento”: “Superhero”}} '' https://domain.freshdesk.com/api/v2/contacts '

Resposta de amostra:

 {
"ativo": falso,
"endereço": nulo,
"company_id": nulo,
"excluído": falso,
"descrição": nulo,
"email": "superman@freshdesk.com",
"id": 120,
"job_title": null,
"idioma": "en",
"mobile": null,
"nome": "Clark Kent",
"telefone": nulo,
"time_zone": "Chennai",
"twitter_id": null,
"Os campos personalizados":{
"departamento": "Super-herói"
},
"Tag":[ ],
"other_emails": [],
"created_at": "2016-02-05T14: 09: 05Z",
"updated_at": "2016-02-05T14: 09: 05Z",
"avatar": null
}

Etapa 3: Atualizar contato com campos personalizados

 

Solicitar URI: http://domain.freshdesk.com/api/v2/contacts/[id]

Método de solicitação: PUT 


Código de amostra: 

curl -u API_KEY: X -H "Content-Type: application / json" -X PUT -d '{“description”: “Works in Daily Planet”, "job_title": ”Journalist”, “custom_fields”: {“department ”:“ Liga da Justiça ”}} '' http://domain.freshdesk.com/api/v2/contacts/8



Resposta de amostra:

 {
"ativo": falso,
"endereço": nulo,
"company_id": nulo,
"excluído": falso,
"descrição": "Funciona no Daily Planet",
"email": "superman@freshdesk.com",
"id": 120,
"job_title": "Jornalista",
"idioma": "en",
"mobile": null,
"nome": "Clark Kent",
"telefone": nulo,
"time_zone": "Chennai",
"twitter_id": null,
"Os campos personalizados":{
"departamento": "Liga da Justiça"
},
"Tag":[ ],
"other_emails": [],
"created_at": "2016-02-05T14: 09: 05Z",
"updated_at": "2016-02-05T14: 09: 05Z",
"avatar": null
}