Задача: личные сообщения в X, входящие и исходящие, из вашего собственного кода и через ваше собственное приложение X — так X выставляет счёт за использование вам, а каждый вызов действует только от имени вашего аккаунта.
1. Создайте приложение X
На console.x.com дайте приложению разрешения «Read and write» и «Direct message» и пополните на нём кредиты. Затем скопируйте из раздела «Keys and tokens» четыре ключа: ключ и секрет API, а также токен доступа и секрет того аккаунта, от имени которого вы будете писать, — созданные после того, как разрешения были заданы, иначе они их не получат.
2. Подключитесь один раз
curl -X PUT https://makehybrid.com/x/v1/connection \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"api_key":"…","api_secret":"…","access_token":"…","access_secret":"…"}'
Ключи проверяются в X и хранятся в зашифрованном виде; обратно они никогда не показываются. Подключение заодно говорит X присылать сообщения вашего аккаунта сюда.
3. Отправьте сообщение
curl -X POST https://makehybrid.com/x/v1/messages \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"to":"@pat","text":"Thanks for reaching out!"}'
4. Получайте ответы
curl -X POST https://makehybrid.com/x/v1/webhooks/endpoints \
-H "X-API-KEY: $MAKEHYBRID_KEY" -H "content-type: application/json" \
-d '{"url":"https://acme.com/hooks/x","events":["x.message_received"]}'
Кто может получить сообщение от вашего аккаунта, решает X. Тот, кто не принимает сообщения от вас, отвечает отказом X, и повторные попытки ничего не изменят.
Частые вопросы
А как быть с зашифрованными сообщениями в X Chat?
Добавьте код доступа X Chat как chat_pin при подключении — и сообщения в разговорах X Chat будут читаться и отправляться в зашифрованном виде. X допускает лишь несколько неверных кодов, поэтому отклонённый код не пробуют повторно, пока вы не пришлёте новый.
Это то же подключение, что и канал X в проектной комнате?
Да. Подключите его в любом из двух мест — и оно будет в обоих.