В этом документе описано, как получать информацию о переписках в Messenger и Instagram. Вы можете получить:
Для прохождения курса необходимо ознакомиться с обзором платформы Messenger и возможностями обмена сообщениями в Instagram, а также реализовать нужные компоненты.
Вам понадобятся:
MESSAGING
или MODERATE
на Странице;Для получения переписок в Messenger между компанией и пользователями вашему приложению понадобятся:
Для получения переписок в Instagram между вашим профессиональным аккаунтом Instagram и пользователями вашему приложению понадобятся:
MESSAGING
на Странице, которая связана с вашим бизнес-аккаунтом Instagram;instagram_basic
, instagram_manage_messages
и pages_manage_metadata
;Этот API позволяет синхронизировать входящие по предыдущим перепискам при подключении к приложению нового бизнес-аккаунта Instagram.
Чтобы получить список переписок, отправьте запрос GET
к конечной точке /PAGE-ID/conversations
и задайте для параметра platform
значение instagram
или messenger
.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &access_token=PAGE-ACCESS-TOKEN"
В случае успеха ваше приложение получит объект JSON со списком ID переписок между вами и пользователем, а также датой последнего сообщения.
{ "data": { "id": "CONVERSATION-ID-1", "updated_time": "UNIX-TIMESTAMP" }, { "id": "CONVERSATION-ID-2", "updated_time": "UNIX-TIMESTAMP" } ... ] }
Чтобы получить переписку между вашим профессиональным аккаунтом Instagram или Страницей Facebook и конкретным человеком, отправьте запрос GET
к конечной точке /PAGE-ID/conversations
с параметрами platform
и user_id
, указав ID в Instagram (IGSID) или ID внутри страницы (PSID) этого человека.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &user_id=INSTAGRAM-OR-PAGE-SCOPED-ID &access_token=PAGE-ACCESS-TOKEN"
В случае успеха ваше приложение получит ID переписки.
{ "data": [ { "id": "CONVERSATION-ID" }, ] }
Чтобы получить список сообщений переписки, отправьте запрос GET
к конечной точке messages
с полем /CONVERSATION-ID
.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/CONVERSATION-ID ?fields=messages &access_token=PAGE-ACCESS-TOKEN"
В случае успеха ваше приложение получит список ID сообщений и время создания каждого из них.
{ "messages": { "data": [ { "id": "Message ID-1", "created_time": "UNIX-TIMESTAMP-MOST-RECENT-MESSAGE" }, { "id": "Message ID-2", "created_time": "UNIX-TIMESTAMP" }, { "id": "Message ID-3", "created_time": "UNIX-TIMESTAMP" }, ... ] }, "id": "Conversation ID", }
Чтобы получить информацию о сообщении, например имя получателя, отправителя и контент сообщения, отправьте запрос GET
к конечной точке /MESSAGE-ID
и укажите нужные поля.
Поля по умолчанию: id
и created_time
.
Примечание. Запросы к конечной точке /CONVERSATION-ID
возвращают ID всех сообщений в переписке. Однако запросить данные можно только для 20 последних сообщений. Если вы запросите сообщение, которое не входит в последние 20, то получите ошибку с информацией о том, что сообщение удалено .
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/MESSAGE-ID ?fields=id,created_time,from,to,message &access_token=PAGE-ACCESS-TOKEN"
В случае успеха приложение получит следующий ответ в формате JSON. В этом примере клиент отправляет текстовое сообщение вашему профессиональному аккаунту Instagram.
{ "id": "aWdGGiblWZ...", "created_time": "2022-07-12T19:11:07+0000", "to": { "data": [ { "username": "INSTAGRAM-PROFESSIONAL-ACCOUNT-USERNAME", "id": "INSTAGRAM-PROFESSIONAL-ACCOUNT-ID" } ] }, "from": { "username": "INSTAGRAM-USERNAME", "id": "INSTAGRAM-SCOPED-ID" }, "message": "Hi Kitty!" }
Справочные материалы: