Ce guide vous explique comment envoyer des Messages privés et créer des conversations de groupe.
Prérequis Avant de commencer, vous aurez besoin :
D’un compte développeur avec une App approuvée
D’un jeton d’accès utilisateur (OAuth 2.0 PKCE, avec les scopes dm.write et dm.read)
Envoyer un message individuel
Obtenir l'identifiant utilisateur du destinataire
Envoyer le message
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{"text": "Hello! This is a message from the API."}'
Consulter la réponse
{
"data" : {
"dm_conversation_id" : "1234567890-9876543210" ,
"dm_event_id" : "1582103724607971332"
}
}
Créer une conversation de groupe
Définir les participants
Rassemblez les identifiants des utilisateurs que vous souhaitez inclure dans le groupe (en dehors de vous-même).
Créer le groupe avec le premier message
curl -X POST "https://api.x.com/2/dm_conversations" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"conversation_type": "Group",
"participant_ids": ["944480690", "906948460078698496"],
"message": {"text": "Welcome to our new group!"}
}'
Récupérer l’id de la conversation
{
"data" : {
"dm_conversation_id" : "1582103724607971328" ,
"dm_event_id" : "1582103724607971332"
}
}
Enregistrez le dm_conversation_id pour ajouter d’autres messages ultérieurement.
Ajouter un message à une conversation existante
Envoyez un message dans une conversation à laquelle vous participez déjà :
curl -X POST "https://api.x.com/2/dm_conversations/1582103724607971328/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{"text": "Ajout d’un autre message dans la conversation."}'
Téléverser le média
Tout d’abord, téléversez votre média à l’aide de l’endpoint Media Upload .
Envoyer avec une pièce jointe multimédia
curl -X POST "https://api.x.com/2/dm_conversations/with/9876543210/messages" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN " \
-H "Content-Type: application/json" \
-d '{
"text": "Découvrez cette image !",
"attachments": [{"media_id": "1234567890123456789"}]
}'
Supprimez un message que vous avez envoyé :
curl -X DELETE "https://api.x.com/2/dm_events/1582103724607971332" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN "
Réponse :
{
"data" : {
"deleted" : true
}
}
Vous ne pouvez supprimer que les messages que vous avez envoyés, pas ceux des autres participants.
Lorsque vous utilisez OAuth 2.0 PKCE, votre jeton d’accès doit inclure les scopes suivants :
Scope Description dm.writeEnvoyer et supprimer des messages dm.readLire les conversations (requis avec dm.write) tweet.readRequis pour certaines Expansions users.readRequis pour les Expansions d’utilisateurs
Recherche de DM Récupérer les conversations de DM
Guide d’intégration Concepts clés et bonnes pratiques
Référence de l’API Documentation complète de l’endpoint
Exemples de code Exemples de code prêts à l’emploi