Contato
Português

Exemplos

Exemplos para copiar e colar das integrações mais comuns, em curl, JavaScript e PHP.

Traduzido para sua conveniência. Código, nomes de campos e a referência da API continuam em inglês. Versão em inglês

Troque yourcompany.helpfalcon.com pelo endereço do seu espaço de trabalho e $TOKEN por um token de API.

Criar um ticket (API compatível com Zendesk)

curl https://yourcompany.helpfalcon.com/zd/api/v2/tickets.json \
  -u "integration@example.com/token:$TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ticket": {"subject": "Order 1042 arrived damaged",
       "comment": {"body": "The box was crushed."},
       "requester": {"name": "Lea Novak", "email": "lea@example.com"},
       "tags": ["damaged", "order"]}}'

Encontrar um ticket pelo seu próprio id

curl "https://yourcompany.helpfalcon.com/zd/api/v2/tickets.json?external_id=order-1042" \
  -u "integration@example.com/token:$TOKEN"

Buscar

curl -G https://yourcompany.helpfalcon.com/zd/api/v2/search.json \
  --data-urlencode "query=type:ticket status:open tags:vip" \
  -u "integration@example.com/token:$TOKEN"

Exportar todos os tickets (API REST, paginação por cursor)

const base = 'https://yourcompany.helpfalcon.com';
let url = `${base}/api/tickets?cursor=&limit=100`;
while (url) {
  const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.TOKEN}`, Accept: 'application/ld+json' } });
  const page = await res.json();
  for (const ticket of page.member ?? page.data ?? []) console.log(ticket.id, ticket.subject);
  url = page.links?.next ? new URL(page.links.next, base).toString() : null;
}

Receber um webhook (PHP)

$raw = file_get_contents('php://input');
$ts = $_SERVER['HTTP_X_DESK_TIMESTAMP'] ?? '';
$sig = $_SERVER['HTTP_X_DESK_SIGNATURE'] ?? '';
$expected = base64_encode(hash_hmac('sha256', $ts.'.'.$raw, getenv('DESK_WEBHOOK_SECRET'), true));
if (abs(time() - (int) $ts) > 300 || !hash_equals($expected, $sig)) {
    http_response_code(401);
    exit;
}
$event = json_decode($raw, true);
http_response_code(204);

Mais detalhes: webhooks, limites de taxa e paginação, a referência da API.