Saltar al contenido principal
Esta guía te explica cómo recuperar eventos de Mensajes Directos del usuario autenticado.
Requisitos previosAntes de comenzar, necesitas:

Obtener todos los eventos de mensajes directos (DM)

Obtén todos los eventos de mensajes directos (DM) del usuario autenticado:
cURL
curl "https://api.x.com/2/dm_events?\
dm_event.fields=created_at,sender_id,text&\
max_results=100" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Respuesta

{
  "data": [
    {
      "id": "1234567890",
      "event_type": "MessageCreate",
      "text": "Hello! How are you?",
      "sender_id": "9876543210",
      "created_at": "2024-01-15T10:30:00.000Z"
    }
  ],
  "meta": {
    "result_count": 1,
    "next_token": "abc123"
  }
}

Obtener una conversación uno a uno

Recupera eventos de MD de una conversación específica uno a uno:
cURL
curl "https://api.x.com/2/dm_conversations/with/9876543210/dm_events?\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"
Reemplaza 9876543210 por el id de usuario del otro participante.

Obtener una conversación por id

Recupera los eventos de mensajes directos (MD) de un id de conversación específico:
cURL
curl "https://api.x.com/2/dm_conversations/1234567890-9876543210/dm_events?\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Filtrar por tipo de evento

Obtén solo determinados tipos de eventos:
cURL
curl "https://api.x.com/2/dm_events?\
event_types=MessageCreate&\
dm_event.fields=created_at,sender_id,text" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Tipos de eventos

TipoDescripción
MessageCreateSe envió un mensaje
ParticipantsJoinUn usuario se unió a la conversación
ParticipantsLeaveUn usuario abandonó la conversación

Incluir datos de usuario

Amplía los datos del remitente:
cURL
curl "https://api.x.com/2/dm_events?\
dm_event.fields=created_at,sender_id,text&\
expansions=sender_id&\
user.fields=username,profile_image_url" \
  -H "Authorization: Bearer $USER_ACCESS_TOKEN"

Respuesta con expansiones

{
  "data": [
    {
      "id": "1234567890",
      "event_type": "MessageCreate",
      "text": "Hello!",
      "sender_id": "9876543210"
    }
  ],
  "includes": {
    "users": [
      {
        "id": "9876543210",
        "username": "example_user",
        "profile_image_url": "https://..."
      }
    ]
  }
}

Parámetros comunes

ParámetroDescripción
max_resultsEventos por página (1-100, valor predeterminado 100)
pagination_tokenToken para la página siguiente
dm_event.fieldsCampos del evento que se devolverán
event_typesFiltrar por tipo de evento
expansionsObjetos relacionados que se incluirán

Próximos pasos

Enviar MD

Enviar mensajes directos

Guía de integración

Conceptos clave y mejores prácticas

Referencia de la API

Documentación completa del endpoint