yuno.chat

Référence de l’API

Contacts

Les contacts sont les personnes qui vous écrivent : des visiteurs ayant laissé une adresse e-mail ou des utilisateurs identifiés via l’appel identify du widget.

L’objet contact

Attributs

  • idstring

    Identifiant unique, préfixé par ctc_.

  • objectstring

    Toujours contact.

  • emailstring | null

    Adresse e-mail, unique au sein de l’espace de travail.

  • namestring | null

    Nom complet.

  • phonestring | null

    Numéro de téléphone tel qu’il a été saisi.

  • external_idstring | null

    Votre propre identifiant utilisateur, unique au sein de l’espace de travail.

  • attributesobject

    Attributs personnalisés affichés à votre équipe à côté de la conversation.

  • last_seen_atstring | null

    Dernière date à laquelle le contact a ouvert le widget.

  • 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.

Objet contact
{
  "id": "ctc_4mR8tYw2",
  "object": "contact",
  "email": "[email protected]",
  "name": "Marta Kowalski",
  "phone": "+48 600 100 200",
  "external_id": "usr_2041",
  "attributes": {
    "plan": "wholesale",
    "orders": 7
  },
  "last_seen_at": "2026-10-03T09:12:40Z",
  "created_at": "2026-06-11T15:02:09Z",
  "updated_at": "2026-10-03T09:12:40Z"
}

Créer ou mettre à jour un contact

POST/contacts

Crée un contact ou met à jour celui ayant le même external_id ou email. Renvoie 201 lors d’une création et 200 lors d’une mise à jour.

Paramètres du corps

  • emailstring

    Obligatoire si external_id n’est pas défini.

  • external_idstring

    Obligatoire si email n’est pas défini.

  • namestring

    Nom complet.

  • phonestring

    Numéro de téléphone.

  • attributesobject

    Fusionné avec les attributs existants. Définissez une clé sur null pour la supprimer.

Requête
curl -X POST https://api.yuno.chat/v1/contacts \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "usr_2041",
    "email": "[email protected]",
    "name": "Marta Kowalski",
    "attributes": {
      "plan": "wholesale",
      "orders": 7
    }
  }'
Réponse · 201
{
  "id": "ctc_4mR8tYw2",
  "object": "contact",
  "email": "[email protected]",
  "name": "Marta Kowalski",
  "phone": "+48 600 100 200",
  "external_id": "usr_2041",
  "attributes": {
    "plan": "wholesale",
    "orders": 7
  },
  "last_seen_at": "2026-10-03T09:12:40Z",
  "created_at": "2026-06-11T15:02:09Z",
  "updated_at": "2026-10-03T09:12:40Z"
}

Lister les contacts

GET/contacts

Renvoie les contacts, du plus récemment actif au moins récemment actif.

Paramètres de requête

  • emailstring

    Correspondance exacte de l’adresse e-mail.

  • external_idstring

    Correspondance exacte de votre identifiant utilisateur.

  • 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/contacts \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -d [email protected]
Réponse · 200
{
  "object": "list",
  "data": [
    {
      "id": "ctc_4mR8tYw2",
      "object": "contact",
      "email": "[email protected]",
      "name": "Marta Kowalski",
      "phone": "+48 600 100 200",
      "external_id": "usr_2041",
      "attributes": {
        "plan": "wholesale",
        "orders": 7
      },
      "last_seen_at": "2026-10-03T09:12:40Z",
      "created_at": "2026-06-11T15:02:09Z",
      "updated_at": "2026-10-03T09:12:40Z"
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Récupérer un contact

GET/contacts/{id}

Renvoie un seul contact.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant du contact.

Requête
curl https://api.yuno.chat/v1/contacts/ctc_4mR8tYw2 \
  -H "Authorization: Bearer $YUNO_SECRET_KEY"
Réponse · 200
{
  "id": "ctc_4mR8tYw2",
  "object": "contact",
  "email": "[email protected]",
  "name": "Marta Kowalski",
  "phone": "+48 600 100 200",
  "external_id": "usr_2041",
  "attributes": {
    "plan": "wholesale",
    "orders": 7
  },
  "last_seen_at": "2026-10-03T09:12:40Z",
  "created_at": "2026-06-11T15:02:09Z",
  "updated_at": "2026-10-03T09:12:40Z"
}

Mettre à jour un contact

PATCH/contacts/{id}

Met à jour un contact. Les champs omis restent inchangés.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant du contact.

Paramètres du corps

  • emailstring

    Nouvelle adresse e-mail.

  • namestring

    Nouveau nom.

  • phonestring

    Nouveau numéro de téléphone.

  • attributesobject

    Fusionné avec les attributs existants.

Requête
curl -X PATCH https://api.yuno.chat/v1/contacts/ctc_4mR8tYw2 \
  -H "Authorization: Bearer $YUNO_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "attributes": {
      "orders": 8
    }
  }'
Réponse · 200
{
  "id": "ctc_4mR8tYw2",
  "object": "contact",
  "email": "[email protected]",
  "name": "Marta Kowalski",
  "phone": "+48 600 100 200",
  "external_id": "usr_2041",
  "attributes": {
    "plan": "wholesale",
    "orders": 8
  },
  "last_seen_at": "2026-10-03T09:12:40Z",
  "created_at": "2026-06-11T15:02:09Z",
  "updated_at": "2026-10-03T09:12:40Z"
}

Supprimer un contact

DELETE/contacts/{id}

Supprime un contact et anonymise ses conversations et ses tickets. Utilisez cette action pour répondre aux demandes d’effacement prévues par le RGPD.

Paramètres de chemin

  • idstringobligatoire

    L’identifiant du contact.

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