Passer au contenu principal
Utilisez des messages pour rédiger des discussions avec les clients, des mises à jour d’assistance, des avis de commande et des réponses assistées par AI dans Connect360.

Envoyer en tant qu’espace de travail

Par défaut, les messages sont envoyés en tant que membre de l’espace de travail attaché à la clé API.
const message = await plato.v1.connect.send.mutate({
  conversationId: "conversation_id",
  content: {
    en: "Hello from the support team.",
  },
});

Envoyer en tant que client

Utilisez sender: "customer" lorsque le message provient d’un visiteur du site Web ou d’un client externe.
const message = await plato.v1.connect.send.mutate({
  conversationId: "conversation_id",
  sender: "customer",
  customer: {
    externalId: "website_user_123",
    name: "Jane Customer",
    email: "[email protected]",
  },
  content: {
    en: "I need help with my order.",
  },
  channelIdentifier: "example.com",
});

Saisir

{
  conversationId: string;
  content?: Partial<Record<"en" | "ar" | "tr", unknown>> | null;
  attachmentIds?: string[] | null;
  flags?: string[] | null;
  parentId?: string | null;
  templateId?: string | null;
  templateContext?: unknown;
  channelId?: string | null;
  channelIdentifier?: string | null;
  sender?: "workspace" | "customer";
  customerId?: string | null;
  customer?: {
    id?: string | null;
    externalId?: string | null;
    name?: string | null;
    email?: string | null;
    phone?: string | null;
    image?: string | null;
    metadata?: Record<string, unknown> | null;
  } | null;
  ai?: {
    agentId: string;
    channelId?: string | null;
  } | null;
}

Réponses

Utilisez parentId lorsque vous répondez à un message spécifique.
await plato.v1.connect.send.mutate({
  conversationId: "conversation_id",
  parentId: "message_id",
  content: {
    en: "Following up on this message.",
  },
});

Pièces jointes

Téléchargez les fichiers avec le point de terminaison de la pièce jointe Connect360, puis transmettez les identifiants de fichiers renvoyés :
await plato.v1.connect.send.mutate({
  conversationId: "conversation_id",
  content: {
    en: "Attached is the document.",
  },
  attachmentIds: ["file_id_1"],
});
Voir Pièces jointes.

Déclenchez AI après l’envoi

Transmettez un identifiant d’agent AI pour demander une réponse AI une fois le message stocké.
await plato.v1.connect.send.mutate({
  conversationId: "conversation_id",
  content: {
    en: "Can you help this customer?",
  },
  ai: {
    agentId: "ai_agent_id",
  },
});
Les réponses AI s’exécutent de manière asynchrone.

Liste des messages

const page = await plato.v1.connect.listMessages.query({
  conversationId: "conversation_id",
  limit: 50,
});
Réponse:
{
  items: [
    {
      id: "message_id",
      content: {
        en: "Hello"
      },
      conversationId: "conversation_id",
      attachments: [],
      sender: {}
    }
  ],
  nextCursor: "message_id_for_next_page"
}
Les messages sont renvoyés du plus ancien au plus récent à l’intérieur de chaque page. Pour récupérer la page suivante :
const nextPage = await plato.v1.connect.listMessages.query({
  conversationId: "conversation_id",
  cursor: page.nextCursor,
  limit: 50,
});