yuno.chat

Référence de l’API

Tickets

Les tickets permettent de suivre les problèmes nécessitant un suivi. Les visiteurs les créent depuis le widget ; vous pouvez aussi les créer depuis vos systèmes, par exemple lors d’une demande de retour.

L’objet ticket

Attributs

  • idstring

    Identifiant unique, préfixé par tkt_.

  • objectstring

    Toujours ticket.

  • numberinteger

    La référence courte affichée aux visiteurs, par exemple T-4821.

  • subjectstring

    Résumé en une ligne.

  • descriptionstring | null

    Informations détaillées.

  • statusenum

    pending signifie que vous attendez une réponse du visiteur.

    openpendingsolvedclosed

  • priorityenum

    Valeur par défaut : normal.

    lownormalhighurgent

  • contact_idstring

    Le destinataire du ticket. Il reçoit les mises à jour par e-mail.

  • conversation_idstring | null

    La conversation à l’origine du ticket, le cas échéant.

  • assignee_idstring | null

    Le membre de l’équipe responsable.

  • tagsarray of strings

    Étiquettes libres.

  • metadataobject

    Jusqu’à 20 paires clé-valeur de vos propres données. Les clés peuvent contenir 40 caractères et les valeurs 500. Définissez une clé sur null pour la supprimer.

  • created_atstring

    Date de création de l’objet, au format ISO 8601 en UTC.

  • updated_atstring

    Date de dernière mise à jour de l’objet, au format ISO 8601 en UTC.

  • solved_atstring | null

    Date à laquelle le ticket a été marqué comme résolu.

Objet ticket
{
  "id": "tkt_7Hc1vQ",
  "object": "ticket",
  "number": 4821,
  "subject": "Tasse ébréchée dans la commande n° 1187",
  "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
  "status": "open",
  "priority": "high",
  "contact_id": "ctc_4mR8tYw2",
  "conversation_id": "conv_8HqL2v9K",
  "assignee_id": null,
  "tags": [
    "damaged",
    "shipping"
  ],
  "metadata": {
    "order_id": "1187"
  },
  "created_at": "2026-10-03T09:15:30Z",
  "updated_at": "2026-10-03T09:15:30Z",
  "solved_at": null
}

Créer un ticket

POST/tickets

Crée un ticket et envoie un e-mail de confirmation au contact. Fournissez contact_id ou un objet contact ; un contact est créé si l’adresse e-mail est nouvelle.

Paramètres du corps

  • subjectstringobligatoire

    Résumé en une ligne, limité à 200 caractères.

  • descriptionstring

    Informations détaillées, limitées à 10 000 caractères.

  • contact_idstring

    Un contact existant.

  • contactobject

    Recherche ou crée un contact à partir de son adresse e-mail.

    • emailstringobligatoire

      Adresse e-mail du contact.

    • namestring

      Nom du contact.

  • priorityenum

    Valeur par défaut : normal.

    lownormalhighurgent

  • conversation_idstring

    Associe le ticket à une conversation.

  • assignee_idstring

    Un membre de l’équipe.

  • tagsarray of strings

    Jusqu’à 10 étiquettes.

  • notify_contactboolean

    Envoie l’e-mail de confirmation. Valeur par défaut : true.

  • metadataobject

    Jusqu’à 20 paires clé-valeur de vos propres données. Les clés peuvent contenir 40 caractères et les valeurs 500. Définissez une clé sur null pour la supprimer.

Requête
curl -X POST https://api.yuno.chat/v1/tickets \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Tasse ébréchée dans la commande n° 1187",
    "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
    "contact": {
      "email": "[email protected]",
      "name": "Marta Kowalski"
    },
    "priority": "high",
    "tags": [
      "damaged",
      "shipping"
    ],
    "metadata": {
      "order_id": "1187"
    }
  }'
Réponse · 201
{
  "id": "tkt_7Hc1vQ",
  "object": "ticket",
  "number": 4821,
  "subject": "Tasse ébréchée dans la commande n° 1187",
  "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
  "status": "open",
  "priority": "high",
  "contact_id": "ctc_4mR8tYw2",
  "conversation_id": "conv_8HqL2v9K",
  "assignee_id": null,
  "tags": [
    "damaged",
    "shipping"
  ],
  "metadata": {
    "order_id": "1187"
  },
  "created_at": "2026-10-03T09:15:30Z",
  "updated_at": "2026-10-03T09:15:30Z",
  "solved_at": null
}

Lister les tickets

GET/tickets

Renvoie les tickets, du plus récent au plus ancien.

Paramètres de requête

  • statusenum

    Filtre par statut.

    openpendingsolvedclosed

  • priorityenum

    Filtre par priorité.

    lownormalhighurgent

  • contact_idstring

    Filtre par contact.

  • tagstring

    Uniquement les tickets portant cette étiquette.

  • created_afterstring

    Horodatage ISO 8601.

  • created_beforestring

    Horodatage ISO 8601.

  • limitinteger

    Nombre d’objets à renvoyer, entre 1 et 100. Valeur par défaut : 20.

  • cursorstring

    Le next_cursor d’une page précédente. Omettez-le pour commencer par l’objet le plus récent.

Requête
curl -G https://api.yuno.chat/v1/tickets \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -d status=open \
  -d priority=high
Réponse · 200
{
  "object": "list",
  "data": [
    {
      "id": "tkt_7Hc1vQ",
      "object": "ticket",
      "number": 4821,
      "subject": "Tasse ébréchée dans la commande n° 1187",
      "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
      "status": "open",
      "priority": "high",
      "contact_id": "ctc_4mR8tYw2",
      "conversation_id": "conv_8HqL2v9K",
      "assignee_id": null,
      "tags": [
        "damaged",
        "shipping"
      ],
      "metadata": {
        "order_id": "1187"
      },
      "created_at": "2026-10-03T09:15:30Z",
      "updated_at": "2026-10-03T09:15:30Z",
      "solved_at": null
    }
  ],
  "has_more": true,
  "next_cursor": "eyJpZCI6ImNvbnZfM..."
}

Récupérer un ticket

GET/tickets/{id}

Renvoie un seul ticket. Vous pouvez aussi fournir son numéro, par exemple /tickets/4821.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant ou le numéro du ticket.

Requête
curl https://api.yuno.chat/v1/tickets/tkt_7Hc1vQ \
  -H "Authorization: Bearer $YUNO_SECRET_KEY"
Réponse · 200
{
  "id": "tkt_7Hc1vQ",
  "object": "ticket",
  "number": 4821,
  "subject": "Tasse ébréchée dans la commande n° 1187",
  "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
  "status": "open",
  "priority": "high",
  "contact_id": "ctc_4mR8tYw2",
  "conversation_id": "conv_8HqL2v9K",
  "assignee_id": null,
  "tags": [
    "damaged",
    "shipping"
  ],
  "metadata": {
    "order_id": "1187"
  },
  "created_at": "2026-10-03T09:15:30Z",
  "updated_at": "2026-10-03T09:15:30Z",
  "solved_at": null
}

Mettre à jour un ticket

PATCH/tickets/{id}

Met à jour un ticket. Le passage au statut solved envoie un e-mail au contact, sauf si notify_contact vaut false.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant ou le numéro du ticket.

Paramètres du corps

  • subjectstring

    Nouveau résumé.

  • statusenum

    Nouveau statut.

    openpendingsolvedclosed

  • priorityenum

    Nouvelle priorité.

    lownormalhighurgent

  • assignee_idstring | null

    Un membre de l’équipe, ou null.

  • tagsarray of strings

    Remplace les étiquettes existantes.

  • notify_contactboolean

    Informe le contact de cette modification par e-mail. Valeur par défaut : true.

  • metadataobject

    Jusqu’à 20 paires clé-valeur de vos propres données. Les clés peuvent contenir 40 caractères et les valeurs 500. Définissez une clé sur null pour la supprimer.

Requête
curl -X PATCH https://api.yuno.chat/v1/tickets/tkt_7Hc1vQ \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "solved"
  }'
Réponse · 200
{
  "id": "tkt_7Hc1vQ",
  "object": "ticket",
  "number": 4821,
  "subject": "Tasse ébréchée dans la commande n° 1187",
  "description": "L’une des deux tasses est arrivée avec un éclat sur le bord.",
  "status": "solved",
  "priority": "high",
  "contact_id": "ctc_4mR8tYw2",
  "conversation_id": "conv_8HqL2v9K",
  "assignee_id": null,
  "tags": [
    "damaged",
    "shipping"
  ],
  "metadata": {
    "order_id": "1187"
  },
  "created_at": "2026-10-03T09:15:30Z",
  "updated_at": "2026-10-03T09:15:30Z",
  "solved_at": "2026-10-03T11:02:00Z"
}

Supprimer un ticket

DELETE/tickets/{id}

Supprime définitivement un ticket. Cette action est irréversible ; vous pouvez aussi choisir de le fermer.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant ou le numéro du ticket.

Requête
curl -X DELETE https://api.yuno.chat/v1/tickets/tkt_7Hc1vQ \
  -H "Authorization: Bearer $YUNO_SECRET_KEY"
Réponse · 200
{
  "id": "tkt_7Hc1vQ",
  "object": "ticket",
  "deleted": true
}