이 문서에서는 Messenger와 Instagram 메시지 대화에 관한 정보를 얻는 방법을 설명합니다. 얻을 수 있는 정보는 다음과 같습니다.
이 튜토리얼에서는 Messenger 플랫폼 개요와 Instagram 메시지 개요를 읽었고 필수적인 구성 요소를 구현한 것으로 가정합니다.
다음과 같은 항목이 필요합니다.
MESSAGING
또는 MODERATE
작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰페이지와 사용자가 Messenger를 통해 대화를 나누려면 앱에 다음의 항목이 필요합니다.
MESSAGING
또는 MODERATE
작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰Instagram 프로페셔널 계정과 사용자가 Instagram 메시지를 통해 대화를 나누려면 앱에 다음의 항목이 필요합니다.
MESSAGING
작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰instagram_basic
, instagram_manage_messages
및 pages_manage_metadata
권한Instagram 비즈니스 계정을 앱에 새로 연결하면 이 API를 통해 받은 메시지함에서 과거 대화를 동기화할 수 있습니다.
대화 리스트를 가져오려면 /PAGE-ID/conversations
엔드포인트로 GET
요청을 보내고 platform
매개변수를 instagram
또는 messenger
로 설정합니다.
curl -i -X GET "https://graph.facebook.com/LATEST-API-VERSION/PAGE-ID/conversations ?platform=PLATFORM &access_token=PAGE-ACCESS-TOKEN"
성공 시 앱에서 비즈니스와 사용자 사이의 대화에 대한 ID 리스트 및 메시지가 전송된 가장 최근 시각이 포함된 JSON 개체를 받게 됩니다.
{ "data": { "id": "CONVERSATION-ID-1", "updated_time": "UNIX-TIMESTAMP" }, { "id": "CONVERSATION-ID-2", "updated_time": "UNIX-TIMESTAMP" } ... ] }
Instagram 프로페셔널 계정 또는 Facebook 페이지와 특정 사용자 간의 대화를 가져오려면 /PAGE-ID/conversations
엔드포인트로 GET
요청을 보냅니다. 이때 platform
매개변수와 user_id
매개변수를 해당 사용자의 Instagram 범위 ID 또는 페이지 범위 ID로 설정합니다.
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" }, ] }
대화에서 메시지 리스트를 가져오려면 /CONVERSATION-ID
엔드포인트로 GET
요청을 보내고 messages
필드를 포함합니다.
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", }
메시지에 대한 정보(예: 보낸 사람, 받는 사람, 메시지 내용)를 가져오려면 관심이 있는 필드를 포함하여 /MESSAGE-ID
엔드포인트로 GET
요청을 보냅니다.
기본 필드는 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!" }
다음에 대한 참고 자료를 참조하세요.