Método: https://oms.tpl.com.br/api/get/ticket_fields_department

Objetivo: Retorna os campos disponíveis de um departamento específico do Zoho Desk, incluindo campos customizados (custom fields), categorias, status e prioridades. Também retorna um template de payload pronto para uso no endpoint put/create_ticket.
          
            
Método: GET
URL: https://oms.tpl.com.br/api/get/ticket_fields_department

Autenticação
Token base64 gerado pelo endpoint /api/get/auth (campo "auth")

JSON de Envio (via body ou querystring)
{
"auth": "TOKEN_BASE64",
"departmentName": "TECNOLOGIA",
"departmentId": "123456789"
}

Obs: Informe departmentName ou departmentId (ao menos um é obrigatório).
Obs: Aceita parâmetros via querystring (?auth=...&departmentName=...) ou JSON no body.

Campos obrigatórios: auth, departmentName ou departmentId

JSON de Retorno (Sucesso - HTTP 200)
{
"success": true,
"department": {
"name": "TECNOLOGIA",
"id": "123456789"
},
"layout": {
"id": "987654321",
"name": "Standard Layout"
},
"contactId": "111222333",
"template": {
"auth": "TOKEN_BASE64",
"subject": "",
"description": "",
"departmentName": "TECNOLOGIA",
"departmentId": "123456789",
"layoutId": "987654321",
"priority": "",
"status": "",
"contactId": "111222333",
"channel": "EMAIL",
"cf": {
"cf_numero_do_pedido": "",
"cf_numero_da_nota_fiscal": "",
"cf_campo_customizado": ""
},
"category": ""
},
"fields": [
{
"section": "Case Information",
"apiName": "cf_numero_do_pedido",
"displayLabel": "Número do Pedido",
"type": "Text",
"isMandatory": false,
"isSystemMandatory": false,
"allowedValues": null,
"defaultValue": null,
"maxLength": 255,
"toolTip": null
},
{
"section": "Case Information",
"apiName": "category",
"displayLabel": "Category",
"type": "Picklist",
"isMandatory": false,
"isSystemMandatory": false,
"allowedValues": ["Categoria A", "Categoria B"],
"defaultValue": null,
"maxLength": null,
"toolTip": null
},
{
"section": "Case Information",
"apiName": "priority",
"displayLabel": "Priority",
"type": "Picklist",
"isMandatory": false,
"isSystemMandatory": false,
"allowedValues": ["Low", "Medium", "High"],
"defaultValue": null,
"maxLength": null,
"toolTip": null
}
]
}

Obs: O campo "template" pode ser copiado diretamente e usado no endpoint put/create_ticket, bastando preencher os campos vazios.

JSON de Retorno (Erro)
HTTP 400:
{ "success": false, "error": "departmentName ou departmentId é obrigatório" }
{ "success": false, "error": "Departamento não encontrado: NOME" }

HTTP 401:
{ "success": false, "error": "auth é obrigatório" }
{ "success": false, "error": "auth inválido" }
{ "success": false, "error": "Credenciais inválidas" }
{ "success": false, "error": "Usuário inválido" }

HTTP 403:
{ "success": false, "error": "Cliente bloqueado" }

HTTP 500:
{ "success": false, "error": "Layout padrão não encontrado para o departamento" }
{ "success": false, "error": "Erro interno: ..." }