자산 저장

자산 전송을 최적화하기 위해, 전송되는 자산을 Messenger 플랫폼에서 저장하도록 할 수 있습니다. 이렇게 하면 요청 시마다 자산을 업로드할 필요가 없으므로 동일한 첨부 파일을 반복적으로 보내고자 할 경우에 유용합니다.

Messenger 플랫폼은 나중에 사용할 자산을 저장할 수 있는 API를 두 개 제공합니다. 하나는 Send API이고 다른 하나는 첨부 파일 업로드 API입니다. 두 API는 URL과 로컬 파일 시스템의 자산을 저장하도록 지원합니다.

목차

지원되는 자산 유형

Messenger 플랫폼은 다음의 자산 유형을 최대 25MB까지 저장하도록 지원합니다.

  • 이미지
  • 오디오 - Content-Type 헤더는 audio 유형을 사용해야 합니다. 예를 들어 audio/mp3입니다.
  • 동영상
  • 파일

Send API로 저장하기

Send API를 사용하면 메시지와 함께 전송되는 자산을 저장할 수 있으므로, 첨부 파일 업로드 API을 사용하여 자산을 미리 업로드하는 것의 대안이 될 수 있습니다. 이를 위해서는 payload.is_reusabletrue로 설정하여 /messages 엔드포인트로 POST 요청을 보냅니다.

URL에서 저장하기

URL에서 자산을 저장하려면 메시지의 attachment 개체에서 payload.url 속성에 소스 URL을 지정합니다.

{
  "recipient":{
    "id":"

For a complete list of API calls and request properties, see the Send API Reference.

파일에서 저장하기

로컬 파일 시스템에서 자산을 저장하려면 메시지 요청을 Send API에 양식 데이터로 제출하고 요청의 filedata 필드에서 파일 위치를 지정합니다.

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

For a complete list of API calls and request properties, see the Send API Reference.

API 응답

이 응답에는 자산을 향후 메시지에 첨부하는 데 사용할 수 있는 attachment_id가 포함됩니다. 이 ID는 비공개이고 원래 첨부 파일을 보냈던 페이지만 이 ID를 다시 사용할 수 있습니다.

{
  "recipient_id": "1254444444682919",
  "message_id": "mid.$cAAJsujCd2ORkHh27-ld7NhzuqrUK",
  "attachment_id": "687799999980546"
}

첨부 파일 업로드 API로 저장하기

첨부 파일 업로드 API를 사용하면 미리 자산을 업로드할 수 있습니다. 이는 특정 자산을 반복적으로 전송해야 한다는 사실을 미리 알고 있는 경우에 유용합니다. 이를 위해서는 /message_attachments 엔드포인트로 POST 요청을 보냅니다.

API 호출 및 요청 속성의 전체 리스트는 첨부 파일 업로드 API 참조를 확인하세요.

URL에서 저장하기

URL에서 자산을 저장하려면 메시지의 attachment 개체에서 payload.url 속성에 소스 URL을 지정합니다.

curl -X POST -H "Content-Type: application/json" -d '{
  "message":{
    "attachment":{
      "type":"image", 
      "payload":{
        "is_reusable": true,
        "url":"http://www.messenger-rocks.com/image.jpg"
      }
    }
  }
}' "https://graph.facebook.com/v2.6/me/message_attachments?access_token=<PAGE_ACCESS_TOKEN>"

API 호출 및 요청 속성의 전체 리스트는 첨부 파일 업로드 API 참조를 확인하세요.

파일에서 저장하기

로컬 파일 시스템에서 자산을 저장하려면 메시지 요청을 첨부 파일 업로드 API에 양식 데이터로 제출하고 요청의 filedata 필드에서 파일 위치를 지정합니다.

curl  \
  -F 'recipient={"id":"<PSID>"}' \
  -F 'message={"attachment":{"type":"<ASSET_TYPE>", "payload":{"is_reusable":true}}}' \
  -F 'filedata=@/tmp/shirt.png;type=image/png' \
  "https://graph.facebook.com/v21.0/me/messages?access_token=<PAGE_ACCESS_TOKEN>"  
  

API 응답

이 응답에는 자산을 향후 메시지에 첨부하는 데 사용할 수 있는 attachment_id가 포함됩니다. 이 ID는 비공개이고 원래 첨부 파일을 보냈던 페이지만 이 ID를 다시 사용할 수 있습니다.

{
  "attachment_id":"1857777774821032"
}

저장된 자산 보내기

저장된 자산의 attachment_id가 있으면 이를 사용하여 자산을 메시지에 첨부할 수 있습니다. 자세한 내용은 메시지 보내기 - 저장된 자산 첨부를 참조하세요.

개발자 지원