Se você tiver um formulário de tíquete com campos personalizados , poderá criar ou atualizar tíquetes com valor para esses campos personalizados - inteiramente por meio de APIs. Digamos que você deseja atualizar o valor do campo personalizado com o rótulo Gadget em seu formulário de tíquete e, em seguida, siga as etapas abaixo. Substitua API_KEY e domain.freshdesk.com onde quer que ocorra com sua chave API e URL de domínio, respectivamente.

Etapa 1: obtenha o nome do campo personalizado

Para obter o nome do campo personalizado Gadget, use a seguinte chamada de API. Esta API listará todos os campos de tíquetes - padrão (como status, e-mail do solicitante, prioridade, etc.) e personalizados.
Solicitar URI : https://domain.freshdesk.com/api/v2/ticket_fields

Método de solicitação: GET


Código de amostra:

 curl -u API_KEY: X -X GET https://domain.freshdesk.com/api/v2/ticket_fields

 

Resposta de amostra:     

Você pode filtrar o campo do tíquete que tem uma tag de rótulo como Gadget. No exemplo acima, o nome do nosso campo personalizado é gadget.

 [
{
"id": 13,
"default": falso,
"Descrição": "",
"rótulo": "gadget",
"nome": "gadget",
"posição": 1,
"required_for_closure": false,
"tipo": "texto_personalizado",
"required_for_agents": false,
"required_for_customers": false,
"label_for_customers": "gadget",
"customers_can_edit": verdadeiro,
"display_to_customers": verdadeiro,
"created_at": "2016-02-05T13: 35: 39Z",
"updated_at": "2016-02-05T13: 35: 39Z"
},
{
"id": 1,
"default": verdadeiro,
"descrição": "Solicitante de tíquete",
"label": "Pesquisar um solicitante",
"nome": "solicitante",
"posição": 4,
"required_for_closure": false,
"portal_cc": falso,
"portal_cc_to": "empresa",
"tipo": "default_requester",
"required_for_agents": verdadeiro,
"required_for_customers": verdadeiro,
"label_for_customers": "Requester",
"customers_can_edit": verdadeiro,
"display_to_customers": verdadeiro,
"created_at": "2016-01-04T09: 19: 43Z",
"updated_at": "2016-02-05T13: 35: 40Z"
},
{
"id": 2,
"default": verdadeiro,
"descrição": "Assunto do bilhete",
"label": "Assunto",
"nome": "assunto",
"posição": 5,
"required_for_closure": false,
"type": "default_subject",
"required_for_agents": verdadeiro,
"required_for_customers": verdadeiro,
"label_for_customers": "Assunto",
"customers_can_edit": verdadeiro,
"display_to_customers": verdadeiro,
"created_at": "2016-01-04T09: 19: 43Z",
"updated_at": "2016-02-05T13: 35: 40Z"
},
]

 

Etapa 2: criar tíquetes com campos personalizados

Solicite uri: https://domain.freshdesk.com/api/v2/tickets

Método de solicitação: POST


Código de amostra:

 curl -u API_KEY: X -H "Content-Type: application / json" -X POST -d '{"description": "Detalhes sobre o problema ...", "subject": "Suporte necessário ...", "email": "tom@outerspace.com", "prioridade": 1, "status": 2, "cc_emails": ["ram@freshdesk.com", "diana@freshdesk.com"], "custom_fields": {"gadget": "Cold Welder"}} '' https://domain.freshdesk.com/api/v2/tickets '

Resposta de amostra:

 {
"cc_emails": [
"ram@freshdesk.com",
"diana@freshdesk.com"
],
"fwd_emails": [],
"reply_cc_emails": [],
"descrição": "Detalhes sobre o problema ...",
"description_html": "<div> Detalhes sobre o problema \ u2026 </div>",
"fr_escalated": falso,
"spam": falso,
"email_config_id": null,
"group_id": nulo,
"prioridade": 1,
"requester_id": 119,
"responder_id": nulo,
"fonte": 2,
"status": 2,
"subject": "Suporte necessário ...",
"Os campos personalizados":{
"gadget": "Soldador a frio"
},
"to_emails": null,
"product_id": null,
"id": 8,
"tipo": nulo,
"created_at": "2016-02-05T13: 44: 35Z",
"updated_at": "2016-02-05T13: 44: 35Z",
"due_by": "2016-02-10T11: 30: 00Z",
"fr_due_by": "2016-02-08T11: 30: 00Z",
"is_escalated": falso,
"Tag":[ ],
"anexos": []
}

ETAPA 3: atualize o tíquete com campos personalizados
Solicitar uri: https://domain.freshdesk.com/api/v2/tickets/[id]

Método de solicitação: PUT

Código de amostra:

 curl -u API_KEY: X -H "Content-Type: application / json" -X PUT -d '{"subject": "Support Required", "priority": 2, "custom_fields": {"gadget": "Plasma Cutter "}} 'https://domain.freshdesk.com/api/v2/tickets/8

  

Resposta de amostra:

 {
"cc_emails": [
"ram@freshdesk.com",
"diana@freshdesk.com"
],
"fwd_emails": [],
"reply_cc_emails": [],
"descrição": "Detalhes sobre o problema ...",
"description_html": "<div> Detalhes sobre o problema \ u2026 </div>",
"fr_escalated": falso,
"spam": falso,
"email_config_id": null,
"group_id": nulo,
"prioridade": 2,
"requester_id": 119,
"responder_id": nulo,
"fonte": 2,
"status": 2,
"assunto": "Suporte necessário",
"Os campos personalizados":{
"gadget": "Cortador de Plasma"
},
"to_emails": null,
"product_id": null,
"id": 8,
"tipo": nulo,
"created_at": "2016-02-05T13: 44: 35Z",
"updated_at": "2016-02-05T13: 44: 35Z",
"due_by": "2016-02-10T11: 30: 00Z",
"fr_due_by": "2016-02-08T11: 30: 00Z",
"is_escalated": falso,
"Tag":[ ],
"anexos": []
}


NOTA 1: ( Isso se aplica apenas para custom_fields de tíquete e não para custom_fields de contato / empresa )

Os nomes dos campos personalizados são derivados dos rótulos dados a eles durante a criação. Se você criar um campo personalizado com o rótulo 'teste', o nome do campo personalizado será 'cf_test'. Todos os campos personalizados terão 'cf_' prefixado ao seu nome.


NOTA 2: Todas as chamadas de API dependem do Nome do campo personalizado e não de seu Rótulo.