Riferimento API

Conversazioni

Una conversazione è il tuo thread di DM con un lead su X, e il suo ID è l'ID del lead. Leggi tutti i messaggi di un thread, elencali in blocco, rispondi dal tuo account X e tieni in ordine la board Conversazioni. Le nuove risposte arrivano anche con il webhook reply.received.

L'oggetto conversazione

Il tuo thread di DM con un lead su X. Il suo ID è l'ID del lead.

Attributi

  • idstring
    Identificatore univoco della conversazione, uguale a lead_id.
  • objectstring
    Sempre conversation.
  • lead_idstring
    Il lead con cui stai parlando.
  • profileobject
    Il profilo X del lead, come nell'oggetto lead.
  • unreadboolean
    True quando l'ultimo messaggio del lead non è ancora stato letto.
  • last_message_atstring
    Quando è stato inviato l'ultimo messaggio, ISO 8601.
  • messages_countinteger
    Messaggi nel thread.
  • last_messageobject o null
    L'ultimo messaggio.
  • personaobject o null
    La buyer persona del lead.
  • columnobject o null
    La colonna della tua board Conversazioni in cui si trova la conversazione, come Interessati. Vedi Colonne della pipeline.
  • historystring
    complete quando messages è il thread completo. recent finché Gemlead conserva solo gli ultimi messaggi di un thread lungo, prima di leggere il resto da X una sola volta. Solo con messages.
    completerecent
  • messagesarray di objects
    Tutti i messaggi del thread, dal più vecchio. Quando recuperi una singola conversazione, o quando le elenchi con include_messages.
L'oggetto conversazione
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  }
}

Elenca le conversazioni

GET/v1/conversationsScope readMCPlist_conversations

Restituisce le tue conversazioni, dal messaggio più recente.

Parametri di query

  • unreadboolean
    true solo per le conversazioni non lette.
  • personastring
    Solo le conversazioni con i lead della buyer persona con questo ID.
  • include_messagesboolean
    true per ottenere ogni conversazione con tutti i suoi messaggi, dal più vecchio, e history. Le pagine sono più pesanti, quindi tieni limit a 25 o meno.
  • limitinteger
    Quanti oggetti restituire, da 1 a 100. Di default 25.
  • cursorstring
    Il next_cursor della pagina precedente, per avere la pagina successiva. Vedi Paginazione.

Restituisce

Un elenco di oggetti conversazione, con messages solo quando include_messages è true.

Errori

  • Un parametro ha un valore che l'API non accetta. param lo indica.
GET/v1/conversations
curl -G https://gemlead.ai/api/v1/conversations \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d unread=true
Risposta200
{
  "object": "list",
  "data": [
    {
      "id": "msgOtJ8dvT",
      "object": "conversation",
      "lead_id": "msgOtJ8dvT",
      "profile": {
        "x_user_id": "1460283925",
        "username": "jane_builds",
        "name": "Jane Doe",
        "bio": "Runs a paid trading community. Daily setups, no hype.",
        "followers_count": 12400,
        "following_count": 380,
        "location": "Austin, TX",
        "website": "https://janedoe.com",
        "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
        "verified": true,
        "url": "https://x.com/jane_builds"
      },
      "unread": true,
      "last_message_at": "2026-11-06T08:12:44.000Z",
      "messages_count": 4,
      "last_message": {
        "id": "1985321409876543210",
        "object": "message",
        "direction": "inbound",
        "text": "Yes, I want to charge for my Discord. How does it work?",
        "created_at": "2026-11-06T08:12:44.000Z",
        "media": [],
        "reactions": [],
        "encrypted": false,
        "reply_to_message_id": null
      },
      "persona": {
        "id": "lvWBPnytpS",
        "name": "Tipsters"
      },
      "column": {
        "id": "q7m2xk4p",
        "name": "Interested"
      }
    }
  ],
  "has_more": true,
  "next_cursor": "eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0"
}

Recupera una conversazione

GET/v1/conversations/:idScope readMCPget_conversation

Restituisce una conversazione con tutti i suoi messaggi, dal più vecchio.

Parametri di percorso

  • idstringObbligatorio
    L'ID della conversazione.

Restituisce

Un oggetto conversazione con messages e history.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
GET/v1/conversations/:id
curl https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  },
  "history": "complete",
  "messages": [
    {
      "id": "1985321409876543210",
      "object": "message",
      "direction": "inbound",
      "text": "Yes, I want to charge for my Discord. How does it work?",
      "created_at": "2026-11-06T08:12:44.000Z",
      "media": [],
      "reactions": [],
      "encrypted": false,
      "reply_to_message_id": null
    },
    {
      "id": "1985329981234567890",
      "object": "message",
      "direction": "outbound",
      "text": "Happy to show you. Do you sell picks monthly or per event?",
      "created_at": "2026-11-06T08:20:03.000Z",
      "media": [],
      "reactions": [
        {
          "emoji": "👍",
          "direction": "inbound",
          "created_at": "2026-11-06T08:24:51.000Z"
        }
      ],
      "encrypted": false,
      "reply_to_message_id": "1985321409876543210"
    }
  ]
}

Segna come letta

POST/v1/conversations/:conversation_id/mark_readScope writeMCPupdate_conversation

Segna la conversazione come letta in Gemlead, e su X con una conferma di lettura.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

L'oggetto conversazione.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
POST/v1/conversations/:conversation_id/mark_read
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/mark_read \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": false,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  }
}

Segna come non letta

POST/v1/conversations/:conversation_id/mark_unreadScope writeMCPupdate_conversation

Segna la conversazione come non letta in Gemlead.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

L'oggetto conversazione.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
POST/v1/conversations/:conversation_id/mark_unread
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/mark_unread \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  }
}

Sposta una conversazione

POST/v1/conversations/:conversation_id/moveScope writeMCPupdate_conversation

Sposta la conversazione in un'altra colonna della board Conversazioni.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Parametri del body

Restituisce

L'oggetto conversazione.

Errori

POST/v1/conversations/:conversation_id/move
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/move \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "column_id": "z3c6lf8a"
  }'
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "z3c6lf8a",
    "name": "Call booked"
  }
}

Fissa una conversazione

POST/v1/conversations/:conversation_id/pinScope writeMCPupdate_conversation

Fissa la conversazione nella tua inbox di X.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

L'oggetto conversazione.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
POST/v1/conversations/:conversation_id/pin
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/pin \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  }
}

Togli una conversazione dai fissati

POST/v1/conversations/:conversation_id/unpinScope writeMCPupdate_conversation

Toglie la conversazione dai fissati nella tua inbox di X.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

L'oggetto conversazione.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
POST/v1/conversations/:conversation_id/unpin
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/unpin \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "lead_id": "msgOtJ8dvT",
  "profile": {
    "x_user_id": "1460283925",
    "username": "jane_builds",
    "name": "Jane Doe",
    "bio": "Runs a paid trading community. Daily setups, no hype.",
    "followers_count": 12400,
    "following_count": 380,
    "location": "Austin, TX",
    "website": "https://janedoe.com",
    "profile_image_url": "https://pbs.twimg.com/profile_images/1460283925/jane_400x400.jpg",
    "verified": true,
    "url": "https://x.com/jane_builds"
  },
  "unread": true,
  "last_message_at": "2026-11-06T08:12:44.000Z",
  "messages_count": 4,
  "last_message": {
    "id": "1985321409876543210",
    "object": "message",
    "direction": "inbound",
    "text": "Yes, I want to charge for my Discord. How does it work?",
    "created_at": "2026-11-06T08:12:44.000Z",
    "media": [],
    "reactions": [],
    "encrypted": false,
    "reply_to_message_id": null
  },
  "persona": {
    "id": "lvWBPnytpS",
    "name": "Tipsters"
  },
  "column": {
    "id": "q7m2xk4p",
    "name": "Interested"
  }
}

Elimina una conversazione

DELETE/v1/conversations/:conversation_idScope writeMCPdelete_conversation

Elimina la conversazione in Gemlead e nella tua inbox di X. Il suo lead si ferma in ogni campagna. Non si può annullare.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

Un oggetto con l'id della conversazione e deleted impostato su true.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
DELETE/v1/conversations/:conversation_id
curl -X DELETE \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "msgOtJ8dvT",
  "object": "conversation",
  "deleted": true
}

L'oggetto messaggio

Un DM in una conversazione, inviato da te o dal lead.

Attributi

  • idstring
    L'ID del messaggio su X.
  • objectstring
    Sempre message.
  • directionstring
    inbound quando l'ha scritto il lead, outbound quando l'hai scritto tu.
    inboundoutbound
  • textstring
    Il testo del messaggio.
  • created_atstring
    Quando è stato inviato, ISO 8601.
  • mediaarray di objects
    Cosa è allegato al messaggio, ognuno con il suo type e il suo url. Le immagini su X passano da un link Gemlead.
  • reactionsarray di objects
    Le reazioni emoji sul messaggio, dalla più vecchia, una per persona ed emoji.
  • encryptedboolean
    true per un messaggio X Chat che Gemlead non può ancora leggere. Il suo text e il suo media restano vuoti finché il codice X Chat non lo sblocca.
  • reply_to_message_idstring o null
    L'ID del messaggio a cui risponde, null se non risponde a nessun messaggio.
L'oggetto messaggio
{
  "id": "1985321409876543210",
  "object": "message",
  "direction": "inbound",
  "text": "Yes, I want to charge for my Discord. How does it work?",
  "created_at": "2026-11-06T08:12:44.000Z",
  "media": [],
  "reactions": [],
  "encrypted": false,
  "reply_to_message_id": null
}

Elenca i messaggi

GET/v1/conversations/:conversation_id/messagesScope readMCPlist_messages

Restituisce tutta la cronologia di una conversazione da X, dal più recente, pagina per pagina.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Parametri di query

  • limitinteger
    Quanti messaggi restituire, da 1 a 50. Di default 25.
  • cursorstring
    Il next_cursor della pagina precedente, per i messaggi più vecchi.

Restituisce

Un elenco di oggetti messaggio.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • Un parametro ha un valore che l'API non accetta. param lo indica.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
GET/v1/conversations/:conversation_id/messages
curl -G \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -d limit=50
Risposta200
{
  "object": "list",
  "data": [
    {
      "id": "1985329981234567890",
      "object": "message",
      "direction": "outbound",
      "text": "Happy to show you. Do you sell picks monthly or per event?",
      "created_at": "2026-11-06T08:20:03.000Z",
      "media": [],
      "reactions": [
        {
          "emoji": "👍",
          "direction": "inbound",
          "created_at": "2026-11-06T08:24:51.000Z"
        }
      ],
      "encrypted": false,
      "reply_to_message_id": "1985321409876543210"
    },
    {
      "id": "1985321409876543210",
      "object": "message",
      "direction": "inbound",
      "text": "Yes, I want to charge for my Discord. How does it work?",
      "created_at": "2026-11-06T08:12:44.000Z",
      "media": [],
      "reactions": [],
      "encrypted": false,
      "reply_to_message_id": null
    }
  ],
  "has_more": true,
  "next_cursor": "eyJzIjoiMjAyNi0xMS0wNVQxNDowMzo0MC4xMTdaIn0"
}

Invia un messaggio

POST/v1/conversations/:conversation_id/messagesScope writeMCPsend_message

Invia subito un DM al lead dal tuo account X. Invia testo, un file o entrambi. Il destinatario è sempre quello della conversazione.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Parametri del body

  • textstring
    Il messaggio, fino a 10 000 caratteri. Obbligatorio senza media.
  • mediaobject
    Un file da inviare con il messaggio. Indica il suo url, oppure i suoi data con il suo mime_type. Gemlead legge il tipo dal file stesso. Le immagini possono pesare fino a 5 MB e le GIF fino a 15 MB. Video e messaggi vocali possono pesare quanto X consente, invia un url per quelli troppo pesanti per il body di una richiesta.
  • reply_to_message_idstring
    Rispondi a questo messaggio, uno degli ultimi 20 della conversazione. Una risposta con media richiede una conversazione X Chat.

Restituisce

Il messaggio inviato, con il suo conversation_id, reply_to_message_id e transport, x_chat o classic.

Errori

POST/v1/conversations/:conversation_id/messages
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Happy to show you. Do you sell picks monthly or per event?"
  }'
Risposta200
{
  "id": "1985329981234567890",
  "object": "message",
  "conversation_id": "msgOtJ8dvT",
  "direction": "outbound",
  "text": "Happy to show you. Do you sell picks monthly or per event?",
  "created_at": "2026-11-06T08:20:03.000Z",
  "media": [],
  "reactions": [],
  "encrypted": false,
  "reply_to_message_id": null,
  "transport": "x_chat"
}

Aggiungi una reazione

POST/v1/conversations/:conversation_id/messages/:message_id/reactionsScope writeMCPreact_to_message

Reagisce a un messaggio con un'emoji, dal tuo account X.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.
  • message_idstringObbligatorio
    L'ID del messaggio, uno degli ultimi 20 della conversazione.

Parametri del body

  • emojistringObbligatorio
    L'emoji, come ❤️ o 👍.

Restituisce

Un oggetto con il conversation_id, il message_id e l'emoji.

Errori

POST/v1/conversations/:conversation_id/messages/:message_id/reactions
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985321409876543210/reactions \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "emoji": "👍"
  }'
Risposta200
{
  "object": "reaction",
  "conversation_id": "msgOtJ8dvT",
  "message_id": "1985321409876543210",
  "emoji": "👍"
}

Rimuovi una reazione

DELETE/v1/conversations/:conversation_id/messages/:message_id/reactionsScope writeMCPreact_to_message

Rimuove la tua reazione da un messaggio.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.
  • message_idstringObbligatorio
    L'ID del messaggio, uno degli ultimi 20 della conversazione.

Parametri di query

  • emojistringObbligatorio
    L'emoji da rimuovere.

Restituisce

La reazione con deleted impostato su true.

Errori

DELETE/v1/conversations/:conversation_id/messages/:message_id/reactions
curl -X DELETE \
  "https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985321409876543210/reactions?emoji=%F0%9F%91%8D" \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "object": "reaction",
  "conversation_id": "msgOtJ8dvT",
  "message_id": "1985321409876543210",
  "emoji": "👍",
  "deleted": true
}

Elimina un messaggio

DELETE/v1/conversations/:conversation_id/messages/:message_idScope writeMCPdelete_message

Elimina un messaggio per te, oppure per entrambi quando è tuo e la conversazione è su X Chat.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.
  • message_idstringObbligatorio
    L'ID del messaggio, uno degli ultimi 20 della conversazione.

Parametri di query

  • for_everyoneboolean
    true lo elimina per entrambi, solo per i tuoi messaggi su X Chat. Di default false.

Restituisce

Un oggetto con l'id del messaggio, il suo conversation_id, deleted impostato su true e for_everyone.

Errori

  • Nessun messaggio con questo ID sull'account della chiave.
  • Un parametro ha un valore che l'API non accetta. param lo indica.
  • La sessione dell'account X è scaduta. Ricollegalo nell'app, poi riprova.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
DELETE/v1/conversations/:conversation_id/messages/:message_id
curl -X DELETE \
  "https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/messages/1985329981234567890?for_everyone=true" \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "id": "1985329981234567890",
  "object": "message",
  "conversation_id": "msgOtJ8dvT",
  "deleted": true,
  "for_everyone": true
}

L'oggetto traduzione della conversazione

Se i messaggi di una conversazione vengono tradotti, e in quale lingua.

Attributi

  • objectstring
    Sempre conversation_translation.
  • conversation_idstring
    L'ID della conversazione.
  • enabledboolean
    Se i suoi messaggi vengono tradotti man mano che arrivano.
  • decidedboolean
    Se qualcuno l'ha attivata o disattivata a mano, invece di lasciare l'impostazione predefinita di Gemlead.
  • source_languagestring o null
    La lingua del lead, una volta rilevata.
  • languagestring o null
    La lingua in cui vengono tradotti i messaggi.
  • shownboolean
    Se l'app mostra i messaggi tradotti.
L'oggetto traduzione della conversazione
{
  "object": "conversation_translation",
  "conversation_id": "msgOtJ8dvT",
  "enabled": true,
  "decided": true,
  "source_language": "es",
  "language": "en",
  "shown": true
}

Recupera le impostazioni di traduzione

GET/v1/conversations/:conversation_id/translationScope readMCPupdate_conversation_translation

Indica se la conversazione viene tradotta, e in quale lingua.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Restituisce

Un oggetto traduzione della conversazione.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
GET/v1/conversations/:conversation_id/translation
curl \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translation \
  -H "Authorization: Bearer $GEMLEAD_API_KEY"
Risposta200
{
  "object": "conversation_translation",
  "conversation_id": "msgOtJ8dvT",
  "enabled": true,
  "decided": true,
  "source_language": "es",
  "language": "en",
  "shown": true
}

Aggiorna le impostazioni di traduzione

PATCH/v1/conversations/:conversation_id/translationScope writeMCPupdate_conversation_translation

Attiva o disattiva la traduzione della conversazione, e sceglie se l'app mostra i messaggi tradotti.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Parametri del body

  • enabledboolean
    Traduce i messaggi man mano che arrivano, i tuoi e quelli del lead.
  • shownboolean
    Mostra i messaggi tradotti nell'app. Richiede enabled.
  • languagestring
    La lingua in cui tradurre. Di default la tua lingua in Gemlead, altrimenti l'inglese.
    enfresitderuptnljazhkoartrhiidplukvithsv

Restituisce

L'oggetto traduzione della conversazione aggiornato.

Errori

PATCH/v1/conversations/:conversation_id/translation
curl -X PATCH \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translation \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "enabled": true,
    "shown": true,
    "language": "en"
  }'
Risposta200
{
  "object": "conversation_translation",
  "conversation_id": "msgOtJ8dvT",
  "enabled": true,
  "decided": true,
  "source_language": "es",
  "language": "en",
  "shown": true
}

Traduci i messaggi

POST/v1/conversations/:conversation_id/translateScope writeMCPtranslate_messages

Traduce i messaggi recenti della conversazione. Con la traduzione disattivata, traduci un messaggio alla volta.

Parametri di percorso

  • conversation_idstringObbligatorio
    L'ID della conversazione.

Parametri del body

  • message_idsarray di strings
    I messaggi da tradurre, tra gli ultimi 20. Di default tutti, con la traduzione attiva.
  • languagestring
    La lingua in cui tradurre. Di default la tua lingua in Gemlead, altrimenti l'inglese.
    enfresitderuptnljazhkoartrhiidplukvithsv

Restituisce

Un oggetto con il conversation_id, la language e, in data, il message_id, il text e la translation di ogni messaggio.

Errori

  • Nessuna conversazione con questo ID sull'account della chiave.
  • Un parametro ha un valore che l'API non accetta. param lo indica.
  • La traduzione è disattivata e hai chiesto più di un messaggio.
  • X o un servizio Gemlead non ha risposto. Non è cambiato nulla, riprova tra un minuto.
POST/v1/conversations/:conversation_id/translate
curl -X POST \
  https://gemlead.ai/api/v1/conversations/msgOtJ8dvT/translate \
  -H "Authorization: Bearer $GEMLEAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "message_ids": ["1985321409876543210"],
    "language": "en"
  }'
Risposta200
{
  "object": "message_translations",
  "conversation_id": "msgOtJ8dvT",
  "language": "en",
  "data": [
    {
      "message_id": "1985321409876543210",
      "text": "Sí, quiero cobrar por mi Discord. Cómo funciona?",
      "translation": "Yes, I want to charge for my Discord. How does it work?"
    }
  ]
}