{
"data": [
{
"link": "https://autofaq.ai/",
"name": "Autofaq_prod",
"id": "194055608157591",
"subscribed_fields": [
"messages"
]
}
]
}Настройка аккаунтов
Необходимо:
Аккаунт в инстаграме(ig_account), который должен быть либо Business либо Creator типа.
Аккаунт в фейсбуке (fb_account)
Страница в фейсбуке. (fb_page)
fb_account должен быть администратором fb_page
ig_account должен быть привязан к fb_page
fb_account должен быть добавлен в developers в facebook application администратором приложения.
Как сделать:
0. Перевод Instgram аккаунта в Business или Creator тип:
https://help.instagram.com/502981923235522?fbclid=IwAR2lmGeUfHyvPSLwb8E0aFwUhs2ZgM_uqm7Wz6CejYgYOUVfswllrkEsySo
https://www.facebook.com/business/learn/lessons/set-up-instagram-creator-account
Кроме того, если вы создали новый аккаунт, загрузите аватар, биографию и опубликуйте какой-нибудь пост иначе ивенты не будут приходить на вебхук.
1. Создание страницы в Facebook
На главной странице есть соответствующий раздел, в котором можно её создать.
2. Привязывание аккаунта в Instagram к странице
Для этого нужно открыть страницу, в которой вы являетесь администратором и пройти по Settings→ Instagram:
3. Добавление администратора страницы в девелоперы приложения:
Получение токена и ID Instagram аккаунта:
Выбрать Facebook App (Autofaq_prod)
3. Выбрать User Token
4. Добавить следующие permissions:
pages_show_list
business_management
pages_messaging
instagram_basic
instagram_manage_comments
instagram_manage_insights
instagram_manage_messages
pages_read_engagement
pages_manage_metadata
pages_read_user_content
5. Нажать кнопку Generate Access Token и сохранить полученный токен. Далее мы будем называть его ${explorer_user_access_token}
6. Нужно выполнить запрос GET https://graph.facebook.com/v9.0/oauth/access_token?grant_type=fb_exchange_token&client_id=${app_id}&client_secret=${app_secret}&fb_exchange_token=${explorer_user_access_token}
.
В ответ придёт такой json:
{ "access_token": ${long_lived_user_access_token}, "token_type": "bearer" }.
7. Выполните запрос GET https://graph.facebook.com/v9.0/me/accounts?access_token=${long_lived_user_access_token}
. В ответ вы получите:
{ "data": [ { "access_token": "${page_acces_token}", "category": "Personal blog", "category_list": [ { "id": "2700", "name": "Personal blog" } ], "name": "{ИМЯ ВАШЕЙ СТРАНИЦЫ В FACEBOOK}", "id": "${fb_page_id}", "tasks": [ "ANALYZE", "ADVERTISE", "MESSAGING", "MODERATE", "CREATE_CONTENT", "MANAGE" ] } ], "paging": { "cursors": { "before": "MTA4ODEyODExNzEyOTg4", "after": "MzE3MjY2NTA1NzY1MTc3" } } }
Нас прежде всего интересует именно ${fb_page_id}.
8. Выполните запрос GET https://graph.facebook.com/${fb_page_id}?fields=access_token&access_token=${long_lived_user_access_token}
.
В ответ вы получите
{ "access_token": ${long_lived_page_access_token}, "id": ${fb_page_id} }
9. Выполните запрос GET https://graph.facebook.com/v6.0/${fb_page_id}?fields=connected_instagram_account&access_token=${long_lived_user_access_toke}
В ответ вы получите:
{ "connected_instagram_account": { "id": ${ig_page_id} }, "id": ${fb_page_id} }
Откуда мы берём ${ig_page_id}.
Итого у нас есть токен - ${long_lived_user_access_token} и ID Intagram аккаунта ${ig_page_id}.
Подписка приложения на поля
POST https://graph.facebook.com/v12.0/${fb_page_id}/subscribed_apps?access_token=${long_lived_user_access_token}&debug=all&format=json&method=post&pretty=0&suppress_http_code=1&transport=cors&subscribed_fields=messages
В результате должны получить:
{ "success": true }
Для проверки выполните:
GET https://graph.facebook.com/v12.0/${fb_page_id}/subscribed_apps?access_token=${long_lived_user_access_token}&debug=all&format=json&method=get&pretty=0&suppress_http_code=1&transport=cors
В результате должы получить что-то вроде этого:
{ "data": [ { "link": "https://autofaq.ai/", "name": "Autofaq_prod", "id": "194055608157591", "subscribed_fields": [ "messages" ] } ] }
Заполнение настроек канала в autofaq
В поле Токен доступа введите ${long_lived_user_access_token}, а в поле идентификатор страницы введите ${ig_page_id} и нажмите на кнопку сохранить.