HSDesk APIHSDesk / API Pública
ReferenciaEntrada (v1)

Criar ticket

Cria um ticket em nome de um solicitante (que vira/atualiza um Contato). Idempotente por external_id: reenviar o mesmo external_id devolve o ticket já existente (HTTP 200) em vez de duplicar. Sem external_id, cada chamada cria um novo ticket.

POST
/api/v1/tickets

Authorization

hsdeskKey
AuthorizationBearer <token>

HSDesk Key (credencial de aplicação). Envie como Authorization: Bearer <hsk_...> ou Authorization: Basic base64("<hsk_...>:") (chave como usuário, senha vazia).

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/api/v1/tickets" \  -H "Content-Type: application/json" \  -d '{    "assunto": "Erro no checkout",    "solicitante": {      "nome": "Maria Cliente"    }  }'
{  "success": true,  "message": "Ticket já existente para este external_id.",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "numero": 1024,    "assunto": "Erro no checkout",    "descricao": "O pagamento falha ao finalizar.",    "prioridade": "alta",    "canal_origem": "api",    "status": {      "nome": "Em andamento",      "categoria": "em_andamento",      "cor": "string"    },    "solicitante": {      "nome": "Maria Cliente",      "email": "string",      "telefone": "+55 11 98888-7777",      "external_id": "string"    },    "external_id": "TCK-9001",    "origem_sistema": "api",    "criado_em": "2019-08-24T14:15:22Z",    "atualizado_em": "2019-08-24T14:15:22Z",    "resolvido_em": "2019-08-24T14:15:22Z",    "respostas": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "mensagem": "Já estamos verificando.",        "origem": "agente",        "editado": false,        "autor": {          "tipo": "agente",          "nome": "Ana Atendente",          "email": "string",          "external_id": "string"        },        "criado_em": "2019-08-24T14:15:22Z"      }    ]  },  "errors": []}
{  "success": true,  "message": "Ticket criado.",  "data": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "numero": 1024,    "assunto": "Erro no checkout",    "descricao": "O pagamento falha ao finalizar.",    "prioridade": "alta",    "canal_origem": "api",    "status": {      "nome": "Em andamento",      "categoria": "em_andamento",      "cor": "string"    },    "solicitante": {      "nome": "Maria Cliente",      "email": "string",      "telefone": "+55 11 98888-7777",      "external_id": "string"    },    "external_id": "TCK-9001",    "origem_sistema": "api",    "criado_em": "2019-08-24T14:15:22Z",    "atualizado_em": "2019-08-24T14:15:22Z",    "resolvido_em": "2019-08-24T14:15:22Z",    "respostas": [      {        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",        "mensagem": "Já estamos verificando.",        "origem": "agente",        "editado": false,        "autor": {          "tipo": "agente",          "nome": "Ana Atendente",          "email": "string",          "external_id": "string"        },        "criado_em": "2019-08-24T14:15:22Z"      }    ]  },  "errors": []}
{  "success": false,  "message": "Erro de validação",  "errors": {    "nome": [      "O campo nome é obrigatório."    ],    "categoria": [      "O campo categoria é obrigatório."    ]  }}
{  "success": false,  "message": "Não autenticado.",  "status": 401,  "data": null,  "errors": {    "field": "api_key",    "message": "Credencial inválida ou revogada."  }}
{  "success": false,  "message": "Limite de requisições excedido.",  "status": 429,  "data": null,  "errors": {    "field": "rate_limit",    "message": "Você excedeu o limite de requisições. Tente novamente mais tarde."  }}