Crear tickets desde tu sistema
Abrir casos en Tinkay cuando algo falla en tu producto.
Flujo típico
- Tu sistema detecta un problema que afecta a un cliente.
- Buscás o creás el contacto en Tinkay por email.
- Creás el ticket con la prioridad adecuada y las etiquetas que uses para reportar.
- Guardás el
iddel ticket en tu base para poder enlazarlo después.
Implementación
Node
async function abrirTicket({ user, incident }) { const headers = { Authorization: `Bearer ${process.env.TINKAY_API_KEY}`, "Content-Type": "application/json", }; // 1. Contacto (409 significa que ya existe) const contactRes = await fetch("https://api.tinkay.app/v1/contacts", { method: "POST", headers, body: JSON.stringify({ name: user.name, email: user.email, company: user.company }), }); const contactBody = await contactRes.json(); const contactId = contactRes.status === 409 ? contactBody.error.contact_id : contactBody.data.id; // 2. Ticket const ticketRes = await fetch("https://api.tinkay.app/v1/tickets", { method: "POST", headers, body: JSON.stringify({ subject: `${incident.code}: ${incident.title}`, description: incident.summary, contact_id: contactId, priority: incident.blocking ? "urgent" : "high", tags: ["incidente", incident.module], }), }); const { data } = await ticketRes.json(); return data; // { id, number, slaDueAt, ... }}Si el incidente nace de una conversación existente, pasá conversation_id y el ticket queda vinculado en el Inbox.
Cerrar el círculo
Suscribite a ticket.updated por webhook para reflejar el estado en tu propio panel y avisarle a quien reportó cuando se resuelve.
Cómo saber que quedó bien
- El ticket aparece en el Inbox con su número
- El SLA se calculó según la prioridad
