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.