메시지 보내기

이 문서에는 Messenger Platform from Meta를 통해 Instagram 프로페셔널 계정에서 고객이나 이 계정에 관심이 있는 사용자에게 자유형 메시지를 전송하는 데 관한 요구 사항이 나와 있습니다.

다음을 포함하는 자유형 메시지를 전송할 수 있습니다.

  • 이미지, 동영상, GIF 또는 오디오
  • 공감 또는 스티커
  • 텍스트(링크 포함)

시작하기 전에

이 가이드에서는 Messenger 플랫폼 개요를 읽고 Instagram 프로페셔널 계정에 연결된 Facebook 페이지(또는 테스트 페이지)와 같이 필수 구성 요소를 구현하고, Meta 개발자로 등록한 후 앱 대시보드의 Messenger > Instagram 메시지 제품에서 비즈니스 앱 ID를 생성한 것으로 가정합니다.

또한 Meta 개발자 플랫폼 상태 에 이슈가 없는지 확인하는 것이 좋습니다.

요구 사항

  • Instagram 프로페셔널 계정에 연결된 Facebook 페이지의 ID
  • 비즈니스에 메시지를 보낸 고객의 Instagram 범위 ID
  • Instagram 프로페셔널 계정에 연결된 Facebook 페이지에서 MESSAGE 작업을 수행할 수 있는 사용자가 요청한 페이지 액세스 토큰
  • instagram_manage_messages 권한

제한 사항

  • Standard Access 권한이 있는 앱은 앱에서 역할이 부여된 사용자에게만 메시지 전송 가능
  • 미디어 첨부 파일:
미디어 유형지원되는 형식지원되는 최대 크기

오디오

acc, m4a, wav, mp4

25MB

이미지

png, jpeg, gif

8MB

동영상

mp4, ogg, avi, mov, webm

25MB

미디어 첨부 파일에 대한 자세한 내용은 Instagram 메시지를 위해 미디어 업로드를 참조하세요.

기본 메시지 보내기

텍스트나 링크가 포함된 메시지를 전송하려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 매개변수에는 Instagram 범위 ID(IGSID)를 포함하고 message 매개변수에는 텍스트 또는 링크를 포함합니다.

메시지 텍스트는 UTF-8이고 1,000바이트 이하여야 합니다. 링크는 유효한 형식의 URL이어야 합니다.

요청 샘플

가독성을 높이기 위해 형식을 지정했습니다.

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={"text":"TEXT-OR-LINK"}'

API 응답 샘플

성공할 경우 앱은 다음과 같은 JSON 응답을 받습니다.

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

게시된 게시물 보내기

Instagram에 게시한 게시물이 포함된 메시지를 전송하려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 매개변수에는 Instagram 범위 ID(IGSID)를 포함하고 message 매개변수에는 typeMEDIA_SHARE로 설정한 attachment 개체와 게시물의 Meta ID가 있는 payload를 포함합니다.

비즈니스는 메시지에 사용할 미디어를 소유해야 합니다.

요청 샘플

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={
      "attachment": 
        {
          "type":"MEDIA_SHARE", 
          "payload":{"id":"POST-ID"}
        }
}’

API 응답 샘플

성공할 경우 앱은 다음과 같은 JSON 응답을 받습니다.

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

스티커 보내기

하트 스티커를 전송하려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 매개변수에는 Instagram 범위 ID(IGSID)를 포함하고 message 매개변수에는 typelike_heart로 설정한 attachment 개체를 포함합니다.

요청 샘플

가독성을 높이기 위해 형식을 지정했습니다.

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&message={
      "attachment": 
        {
          "type":"like_heart"
        }
}’

API 응답 샘플

성공할 경우 앱은 다음과 같은 JSON 응답을 받습니다.

{
  "recipient_id": "IGSID",
  "message_id": "MESSAGE-ID"
}

메시지에 공감하기

공감을 전송하려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 매개변수에는 Instagram 범위 ID(IGSID)를 포함하고, sender_action 매개변수는 react로 설정하며, payload에는 공감을 적용할 메시지의 ID로 설정된 message_idlove로 설정된 reaction을 포함합니다.

요청 샘플

가독성을 높이기 위해 형식을 지정했습니다.

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id":"IGSID"}&sender_action=react&payload={
      "message_id":"MESSAGE-ID",
      "reaction":"love",
}'

메시지에서 공감을 삭제하려면 /PAGE-ID/messages 엔드포인트로 POST 요청을 보냅니다. 이때 recipient 매개변수에는 Instagram 범위 ID(IGSID)를 포함하고, sender_action 매개변수는 unreact로 설정하며, payload에는 공감을 삭제할 메시지의 ID로 설정된 message_id를 포함합니다.

요청 샘플

curl -i -X POST \
  "https://graph.facebook.com/LATEST-API-VERSION/me/messages?access_token=PAGE-ACCESS-TOKEN" \
  --data 'recipient={"id”:”IGSID”}&sender_action="unreact"&payload={
      “message_id":"MESSAGE-ID",
}'

응답 샘플

성공할 경우 앱은 공감 및 공감 취소 요청에 대해 다음과 같은 JSON 응답을 받습니다.

{
  "recipient_id": "IGSID"
}

다음 단계

기타 참고 자료

개발자 지원