FBE 크리에이티브 등록

Facebook Business 확장 도구(FBE)를 사용하면 사용자가 새로운 비즈니스 관리자나 기존 비즈니스 관리자와 연결하여 모든 Meta 앱 패밀리에서 크리에이티브 자산을 쉽게 업로드할 수 있습니다. 파트너는 이 플로를 완료한 후 반환된 비즈니스 관리자를 사용하여 고객을 대신해 Facebook에 크리에이티브 자산을 업로드할 수 있습니다.

이 문서에서는 FBE 크리에이티브 플로의 기본적인 전제 조건과 이 프로세스를 완료하는 데 필요한 단계를 간략히 설명합니다. 전체적 통합에 대한 자세한 내용은 Facebook Business 확장 프로그램 가이드를 참조하세요.

예 — 파트너 화면(비즈니스 로그인)의 등록 플로

시작하기 전에

  1. 개발자 도구에 액세스하고 Facebook 앱을 만들기 위해 Facebook 개발자로 등록합니다.

  2. 아직 등록하지 않으셨다면 Meta 앱을 만듭니다.

  3. Meta 앱은 인증된 비즈니스인 비즈니스 관리자가 소유한 것이어야 합니다. 비즈니스를 인증하는 방법에 대해 자세히 알아보세요.

  4. 테스트 앱을 만들고 모든 새로운 개발 및 테스트에 사용합니다. 테스트 앱에 다른 비즈니스 관리자를 할당하세요.

  5. 비공개 권한/기능:

  • manage_business_extension — Facebook Business 확장 도구에 액세스합니다. 이 기능이 에 적용되면 제품에서 FBE 개발자 패널을 찾을 수 있습니다.

  • Business_creative_asset_management자산 관리 API와 관련된 크리에이티브에 액세스합니다. 이 기능이 부여된 이후에는 다음의 권한에 액세스할 수 있습니다.

    • business_creative_insights: 비즈니스 크리에이티브 자산 인사이트에 액세스합니다.

    • business_creative_management: 앱에서 새 폴더를 생성, 편집, 공유하고 비즈니스 엔터티의 컨텍스트 내에서 해당 폴더로 자산을 업로드합니다.

    • business_creative_insights_share(개발 중): 폴더 공유 플로에서 사용하는 선택적 권한입니다. 사용자가 이 권한을 부여한 경우, 앱에서 다른 비즈니스로 크리에이티브 폴더를 공유하고 해당 비즈니스에서 크리에이티브 자산 인사이트를 볼 수 있도록 허용합니다.

앱 검수 완료 후

파트너 액세스 토큰 만들기:

  • 이 지침에 따라 비즈니스 관리자에서 관리자 시스템 사용자 액세스 토큰을 생성합니다.

  • 이 토큰에 '사용 가능한 범위' 단계에서 선택한 business_creative_insights, business_creative_managementbusiness_management 권한이 있는지 확인하세요.

‘내 디자인을 Facebook으로 보내기' 버튼 구현

이 버튼은 앱에서 사용자의 Facebook 미디어 라이브러리로 자산을 보내는 데 사용합니다. 이 과정에서 앱은 사용자가 자산을 보낼 폴더를 선택하거나 만들도록 허용해야 합니다.

여기에는 두 가지 방법을 권장합니다.

1. (필수) 사용자에게 최상위 폴더를 선택하거나 만들 수 있는 옵션만 있습니다. 선택한 비즈니스 컨텍스트에서 사용자가 액세스할 수 있는 모든 최상위 폴더를 쿼리합니다. 사용자에게 기존 최상위 폴더를 선택하거나 새로운 최상위 폴더를 생성하도록 요청합니다. 사용자는 폴더 이름을 지정하거나 기본 폴더 이름(<YourBusinessName>_<UserBusinessName>_<UserName>)을 사용합니다. 선택한 최상위 폴더나 새로운 최상위 폴더로 자산을 업로드합니다. 이 방식은 최소한의 UI 작업이 필요하며 API에 대한 자세한 내용은 아래의 3단계에 나와 있습니다.

2. (선택 사항) 사용자가 폴더 및 하위 폴더 탐색을 완전히 제어할 수 있습니다. 선택한 비즈니스 컨텍스트에서 사용자가 액세스할 수 있는 모든 최상위 폴더를 쿼리하고 사용자에게 기존 최상위 폴더를 선택하거나 새로운 최상위 폴더를 만들도록 요청합니다. 새 폴더의 경우, 사용자에게 폴더 이름을 지정하거나 기본 이름(<YourBusinessName>_<UserBusinessName>_<UserName>)을 사용하도록 요청합니다. 선택된 최상위 폴더에서 사용자는 기존 하위 폴더로 이동하거나, 새 하위 폴더를 만들거나, 자산을 업로드하는 옵션이 있습니다. 이 옵션을 사용하려면 UI에 폴더 탐색을 구현해야 합니다. API 통합 지침은 아래의 3단계4단계에서 확인할 수 있습니다.

이 플로를 구현하는 데 필요한 각 단계는 다음과 같습니다.

  1. Facebook Business 확장 프로그램 구현
  2. 비즈니스 컨텍스트 가져오기
  3. 최상위 폴더 선택 또는 생성
  4. 하위 폴더 선택 또는 생성
  5. 이미지/동영상 업로드
  6. 사용자에게 폴더 공유 요청(선택 사항)
  7. 이미지/동영상 인사이트 보기(선택 사항)

1. Facebook Business 확장 프로그램 구현

사용자가 처음으로 Facebook에 크리에이티브 자산을 보낼 경우 Facebook Business 확장 프로그램을 띄워서 사용자에게 앱을 인증하고 앱이 Facebook에서 사용자 데이터에 액세스하기 위한 필수 권한과 자산 액세스 권한을 액세스 토큰의 형태로 부여할 것을 요청합니다. Facebook Business 확장 프로그램을 앱에 구현하려면 Facebook Business 확장 프로그램: 시작하기를 참조하세요. 비즈니스 앱 가이드에 따라 앱이 비즈니스 앱 화면에 표시되도록 합니다.

크리에이티브 플로 표시:

  • 설정에서 channel: CREATIVEbusiness_vertical: CREATIVE를 전달합니다.
  • business_creative_managementbusiness_creative_insights 권한을 사용합니다.
    • 이는 비즈니스 ID를 쿼리하고, 폴더를 생성하며, 폴더에 크리에이티브 자산을 업로드하는 데 필요합니다.
  • (선택 사항) business_creative_insights_share 권한을 사용합니다.
    • 사용자가 VIEW_INSIGHTS 작업에 대한 권한으로 폴더를 공유할 수 있습니다.

이 프롬프트에서 반환된 사용자 액세스 토큰을 사용하여 사용자 대신 API 호출을 보낼 수 있습니다.

필수 구성

Extras

필드유형설명

setup

설정

필수 항목

고유한 식별자(external_business_id) 또는 카탈로그의 통화(currency)와 같은 판매자의 Facebook 설정입니다. 설정 개체 상세 정보를 참조하세요.

business_config

business_config

필수 항목

Facebook Business 확장 프로그램은 Facebook Business 확장 프로그램 워크플로를 구성하는 데 사용하는 구성 개체입니다. business_config 개체 상세 정보를 참조하세요.

repeat

부울

필수 항목

이 값을 false로 설정합니다.

설정

이 개체를 사용하여 최종 사용자의 Facebook 프레즌스 설정을 정의합니다.

필드설명

external_business_id
유형: 문자열

필수 항목.
클라이언트의 비즈니스를 대표하는 고유 비즈니스 ID. 이를 고유한 식별자로 사용합니다. 예를 들어 판매자의 회사가 'Fubar'라면 'fubar-123'은 external_business_id가 될 수 있습니다.

timezone
유형: 문자열

필수 항목.
비즈니스가 위치한 시간대. 사용 가능한 시간대 값을 참조하세요.

currency
유형: 문자열

필수 항목.
비즈니스의 카탈로그 항목에서 사용한 기본 통화의 세 글자 ISO 통화 코드. 지원되는 통화 코드를 참조하세요.

business_vertical
유형: enum

필수 항목.
비즈니스와 관련된 업종
값:CREATIVE

channel
유형: enum

필수 항목.
파트너가 추가적인 단계나 제한이 필요한 기능과 관련하여 사용자에 대한 의도를 표현할 수 있는 방법을 제공합니다. 값: CREATIVE.

  • CREATIVE — 사용자가 파트너 플랫폼에서 크리에이티브를 생성하고 사용자의 비즈니스 관리자에 다시 공유할 수 있는 플로.

business_manager_id
유형: 문자열

선택 사항.
파트너가 설정 플로에서 사용자 대신 미리 선택할 수 있는 사용자의 기존 비즈니스 관리자에 대한 비즈니스 관리자 ID.

Business Config

이 개체를 사용하여 최종 사용자의 비즈니스 설정을 구성합니다. 여기에는 CTA, 서비스 카드 등이 포함됩니다. 각 필드에는 아래의 각 테이블과 링크된 'type'이 포함됩니다.

필드설명

business
유형: FBEBusinessPropertiesConfigData

필수 항목.
최종 사용자 비즈니스의 정보.

FBEBusinessPropertiesConfigData

이 개체를 사용하여 비즈니스 이름을 구성합니다.

필드설명

name
유형: 문자열

필수 항목.
비즈니스의 이름

2. 비즈니스 컨텍스트 가져오기

사용자가 위의 FBE 등록 플로를 완료하고 나면 사용자의 비즈니스 관리자 ID와 액세스 토큰을 FBE 설치 API 또는 Webhook 알림에서 수신합니다.

3. 최상위 폴더 선택 또는 생성

사용자는 최상위 폴더에 자산을 업로드하거나 최상위 폴더 아래에 하위 폴더를 생성할 수 있습니다.

먼저 <business_id>/creative_folders 엔드포인트(개발 중)로 요청을 보내서 사용자가 어떤 최상위 폴더에 CREATE_CONTENT 작업 권한이 있는지 확인합니다.

사용자 비즈니스에서 최상위 폴더 가져오기

요청

curl -X GET \
    -F 'access_token={user-access-token}' \
https://graph.facebook.com/<API_VERSION>/<user_business_id>/creative_folders?filtering=[{field:"permitted_tasks", operator: "EQUAL", value:"create_content"}]

응답

{
 "id": "<folder_id>"
}

사용자의 비즈니스 관리자 컨텍스트에서 사용자가 기존 최상위 폴더를 선택하거나 새로운 최상위 폴더를 생성하도록 요청합니다. 새로운 최상위 폴더를 만들 경우, 사용자가 폴더 이름을 지정하거나 기본 폴더 이름(<YourBusinessName>_<UserBusinessName>_<UserName>)을 사용하도록 요청할 수 있습니다. 사용자가 이 폴더를 다시 공유하면 Facebook 자산 라이브러리에서 파트너의 비즈니스와 사용자 비즈니스에 해당 폴더가 표시됩니다.

참고: 사용자의 비즈니스 이름은 {business-id} 엔드포인트로 GET 요청을 보내면 알 수 있습니다. 여기서 {business-id}는 사용자의 비즈니스 ID입니다.

사용자의 비즈니스 정보 가져오기 요청

요청

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>

응답

{
 "id": {business-id}
 "name": {user-business-name}
}

최상위 폴더 만들기 요청

요청

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

응답

{
 "id": {top-level-folder-id}
}

4. 하위 폴더 선택 또는 생성

전체 폴더 탐색 플로를 지원하고 싶다면 다음의 요청을 보내서 사용자에게 기존 하위 폴더를 선택하거나 최상위 폴더 아래에 새 하위 폴더를 생성하도록 요청하세요.

하위 폴더 가져오기

  • business_creative_management 권한이 필요합니다.

요청

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<parent_folder_id>/subfolders?fields=name

응답

{
 "data": [
   {
     "name": "<subfolder_name>",
     "id": "<subfolder_id>"
   }
 ]
}

하위 폴더 만들기

  • business_creative_management 권한이 필요합니다.

요청

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={user-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

응답

{
    "id": {sub-folder-id}
}

폴더와 하위 폴더는 <folder_id> 또는 <subfolder_id> 엔드포인트로 DELETE 요청을 보내면 삭제할 수 있습니다.

5. 이미지와 동영상을 하위 폴더로 업로드

사용자의 크리에이티브 자산을 하위 폴더로 업로드합니다.

  • business_creative_management 권한이 필요합니다.

이미지 업로드하기

요청

curl -X POST \
    -F 'bytes={image-content-in-bytes-format}' \
    -F 'name={image-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph.facebook.com/{version}/{business-id}/images

응답

{
    "images":{
         "{image-name}":{
             "id":"{business-creative-image-id}",
             "hash":"{hash}",
             "url":"{image-url}"
         }
    }
}

동영상 업로드하기

동영상이 몇 메가바이트 이내라면 하나의 요청으로 업로드하고 그렇지 않을 경우 청크로 업로드하세요(아래의 다음 섹션 참조). 동영상 업로드를 위한 API 호출은 graph.facebook.com 대신 graph-video.facebook.com에서 보냅니다.

예 — POST{business-id}/video로 보내고 동영상 이름, 소스, 하위 폴더 ID을 포함합니다.

요청

curl -X POST \
    -F 'name={video-name}' \
    -F 'source='&#064;&#123;video-path&#125;'' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph-video.facebook.com/{version}/{business-id}/videos

응답

{
  "success": true,
  "business_video_id": "<business_video_id>"
}

청크 동영상 업로드하기

대용량 동영상의 경우, 시작 요청 1개와 전송 요청 한 개 이상, 종료 요청 1개를 보냅니다.

시작 요청을 보내고 동영상 업로드 세션을 만들려면 POST 요청을 /{business-id}/videos로 보내고 upload_phase 필드를 start로 설정한 다음, file_size를 바이트 단위로 지정합니다.

요청

curl -X POST \
 -F 'title={video-name}' \
 -F 'creative_folder_id={subfolder-id}' \
 -F 'access_token={user-access-token}' \
 -F 'upload_phase=start' \
 -F 'file_size={video_file_size_in_bytes}' \
 https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

응답

{
    "upload_session_id": "{session-id}",
    "video_id": "{video-id}",
    "start_offset": "0",
    "end_offset": "52428800"
}

동영상에서 [0, 52428800]을 업로드하려면 시작과 종료 오프셋에 따라 파일을 청크로 자른 다음, 해당 청크를 전송 요청과 함께 보냅니다. Facebook이 각 청크에 대해 새 오프셋을 보내면 이를 사용하여 각 청크를 업로드하세요.

예: 첫 번째 청크 보내기

요청

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'upload_session_id={session-id}' \
    -F 'start_offset=0' \
    -F 'video_file_chunk=@{binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

응답

요청이 성공하면 다음 청크에 대한 오프셋이 반환됩니다.

{
  "start_offset": "52428800", //Start byte position of the next file chunk
  "end_offset": "104857601" //End byte position of the next file chunk
}

파일에서 [52428800, 104857601] 범위로 두 번째 청크를 잘라서 업로드하고 전송합니다.

요청

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'start_offset=52428801' \
    -F 'upload_session_id={your-upload-sesson-id}' \
    -F 'video_file_chunk={binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

응답

start_offsetend_offset과 같아질 때까지 모든 추가 청크를 보냅니다.

{
 "start_offset": "152043520",
 "end_offset": "152043520"
}

위의 응답은 파일 전체가 업로드되었다는 것을 의미합니다. 이 동영상을 게시하고 업로드 세션을 종료하면 됩니다.

요청

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={business-creative-folder-id}' \
    -F 'upload_phase=finish' \
    -F 'upload_session_id={session-id}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

업로드 도중 오류가 발생하면 해당 청크의 업로드를 다시 시도할 수 있습니다. 일반적으로 응답 문제로 인해 오류가 발생합니다. 실패한 청크는 다시 업로드를 시도하세요. 오류에 대한 자세한 내용은 다음을 참조하세요.

앱에서 사용자에게 업로드가 성공한 것을 알리고 '내 Facebook 자산 라이브러리에서 크리에이티브 보기' 행동 유도 뒤에 이 크리에이티브에 대한 딥 링크를 표시해야 합니다. 폴더 또는 자산의 딥 링크:

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id}(개발 중)

사용자에게 여러 비즈니스 관리자가 있을 경우, 이 링크는 비즈니스 선택 페이지로 이동합니다. 비즈니스에 대한 불확실성을 없애려면 다음과 같이 URL에서 비즈니스 컨텍스트를 제공할 수 있습니다.

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id}&business_id={client_business_id}

딥 링크 URL은 엔드포인트에 GET 요청을 보내도 얻을 수 있습니다.

curl -X GET \
    /<folder_id or asset_id>
        ?fields=['media_library_url']
        &access_token=<user_access_token>

이 링크는 Facebook 자산 라이브러리에 있는 폴더 또는 자산으로 사용자를 이동시킵니다.

6. 사용자에게 폴더 공유 요청(선택 사항)

폴더를 관리하거나 자산에 대한 인사이트를 보고 싶다면 사용자에게 최상위 폴더를 공유해달라고 요청할 수 있습니다. POST 요청을 {business-creative-folder-id}/agencies로 보내고 permitted_tasksCREATE_CONTENT에 할당합니다.

참고: 사용자가 business_creative_insights_share를 앱에 부여할 경우(개발 중) VIEW_INSIGHTS 권한이 있는 작업을 할당할 수도 있습니다.

폴더 공유하기

  • business_creative_management 권한이 필요합니다.

요청

curl -X POST \
    -F 'permitted_tasks=['CREATE_CONTENT','VIEW_INSIGHTS']' \
    -F 'business={partner-business-id} ' \
    -F 'access_token={user-access-token}' https://graph.facebook.com/<API_VERSION>/<BUSINESS_CREATIVE_FOLDER_ID>/agencies

이 응답은 비즈니스 조직 내에서 사용자의 역할에 따라 두 가지 유형 중 하나가 됩니다.

1) 고객 토큰이 비즈니스 관리자일 경우:

API에서 사용자 비즈니스와 고객 비즈니스 사이에 파트너십 계약을 설정합니다.

응답

사용자 비즈니스와 파트너 비즈니스 사이에 기존의 파트너십 계약이 있을 경우(사용자 비즈니스가 폴더를 공유하였고 파트너가 이미 공유 요청을 수락한 경우):

{ 
    "success": true
}

아직 사용자 비즈니스의 공유 요청을 수락하지 않은 경우:

{
    "success": true,
    "share_status": "In Progress"
}

이 시나리오에서 파트너 비즈니스는 공유 요청을 수락해야 공유에서 지원하는 모든 기능(예: 조회, 생성)에 액세스할 수 있습니다.

승인이 대기 중인 모든 파트너십 계약을 리스트로 표시하려면 파트너 액세스 토큰을 사용하여 {business-id}/received_sharing_agreements로 요청을 보내고 request_statusIN_PROGRESS로 설정하세요. 이 작업에는 business_creative_managementbusiness_management 권한이 필요합니다.

모든 파트너십 계약을 리스트로 표시하기

요청

curl -i -X GET https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/received_sharing_agreements
    ?request_status=IN_PROGRESS
    &access_token={partner-access-token}"

POSTbusiness_sharing_agreement_request_id로 보내고 request_statusAPPROVE로 설정하여 공유 요청을 수락할 수 있습니다. 이 작업은 누군가 파트너 비즈니스에 처음으로 폴더를 공유할 때만 처리하면 됩니다. 이 작업에는 business_management 권한이 필요합니다.

파트너십 계약 수락하기

요청

curl -X POST \
    -F 'request_status=APPROVE' \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_SHARING_AGREEMENT_REQUEST_ID>

응답

{ 
    "success": true
}

또는 비즈니스 관리자 UI에서 대기 중인 공유 요청을 승인할 수도 있습니다. 비즈니스 관리자에서 대기 중인 요청을 확인하려면 설정 > 요청 > 수신된 요청으로 이동합니다. 여기에서 요청에 대한 자세한 정보를 확인할 수 있습니다.


2) 고객 토큰이 비즈니스 직원일 경우:

API에서 알림 워크플로를 트리거하여 비즈니스 관리자에게 요청 승인 이메일을 전송합니다.

응답

{
   "success": true,
   "share_status": "Pending"
}

이 상태에 대한 응답으로 앱이 다음의 정보를 사용자에게 알려야 합니다.

  • 공유 요청 승인 이메일을 통해 요청이 비즈니스 관리자에게 제출됨
  • 사용자에게 요청에 대한 다른 이메일이 전송됨

사용자 비즈니스에서 시작된 모든 대기 중인 계약을 리스트로 표시하려면 {business-id}/attempted_sharing_agreements로 요청을 보내고 request_statusIN_PROGRESS로 설정한 다음, requesting_business_id를 사용자의 비즈니스 관리자 ID로 설정합니다. 이 작업에는 business_creative_managementbusiness_management 권한이 필요합니다.

모든 대기 중인 폴더 공유 계약을 리스트로 표시

요청

curl -i -X GET \ https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/attempted_sharing_agreements
    ?request_status=IN_PROGRESS
    &requesting_business_id=<user_business_id>
    &access_token={partner-access-token}

요청 ID를 포함하여 모든 대기 중인 폴더 공유 계약을 리스트로 표시

또는 요청 ID가 있을 경우, {request_id}로 요청을 보내서 직접 상태를 가져올 수 있습니다.

  • business_creative_management 권한이 필요합니다.

요청

curl -i -X GET  \
    https://graph.facebook.com/<API_VERSION>/<REQUEST_ID>?fields=status

비즈니스 관리자가 요청을 승인하면 상태가 APPROVE로 변경됩니다. 사용자의 비즈니스와 파트너 비즈니스가 공유 계약 관계(사용자 비즈니스가 폴더를 공유하였고 파트너가 이미 공유 요청을 수락한 경우)라면 파트너의 비즈니스 관리자로 폴더가 다시 공유됩니다. 그렇지 않으면 share_statusIN_PROGRESS로 업데이트됩니다. IN_PROGRESS 상태인 모든 파트너십 계약을 리스트로 표시하고 API 또는 비즈니스 관리자 UI에서 수락할 수 있습니다.

7. 이미지/동영상 인사이트 보기(선택 사항)

VIEW_INSIGHTS 작업 권한과 함께 폴더를 공유했을 경우 <business_asset_id>/insights 엔드포인트에 GET 요청을 보내서 공유된 폴더의 비즈니스 이미지와 동영상 인사이트를 읽을 수 있습니다.

비즈니스 크리에이티브 인사이트

  • business_creative_managementbusiness_creative_insights 권한이 필요합니다.

요청

curl -i -X GET  \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_ASSET_ID>/insights
    ?breakdowns=["age","gender"]
    &fields=impressions,inline_link_clicks,age,gender,date_start,
    &time_range={"since":"2019-08-01","until":"2019-08-22"}
    &access_token={partner-access-token}"

응답

{
 "data": [
   {
     "impressions": 99,
     "inline_link_clicks": 1,
     "age": "18-24",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 198,
     "inline_link_clicks": 2,
     "age": "18-24",
     "gender": "male",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 464,
     "inline_link_clicks": 2,
     "age": "25-34",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
 ]
}

다음과 같은 기준으로 분석 데이터를 제공할 수 있습니다.

  • gender
  • age
  • country
  • publisher_platform
  • platform_position
  • device_platform
  • ad_id
  • objective
  • optimization_goal
  • time_range('YYYY-MM-DD' 형식의 날짜가 필요하며 해당 날짜의 자정부터 시작됩니다.)

파트너 토큰을 사용하여 공유된 폴더를 직접 관리하기

관리형 서비스 파트너의 경우, 적절한 권한이 부여된 작업과 함께 폴더가 다시 공유되었다면 파트너 액세스 토큰으로 최상위 폴더를 관리할 수 있습니다.

  • 폴더의 CREATE_CONTENT 작업 권한은 앱에서 하위 폴더를 생성하고 이미지와 동영상을 해당 폴더에 업로드하도록 허용합니다.
  • (사용자의 선택 사항) VIEW_INSIGHTS 작업 권한은 앱에서 해당 폴더에 저장된 크리에이티브 자산의 성과 인사이트를 조회하도록 허용합니다.

1. 상위 폴더 권한 확인

<business_id>/creative_folders 엔드포인트를 호출하여 사용자의 비즈니스에서 공유된 모든 상위 폴더를 가져옵니다.

  • business_creative_management 권한이 필요합니다.

사용자 비즈니스에서 폴더 가져오기

요청

curl -X GET \
     -F 'access_token={partner-access-token}' \  https://graph.facebook.com/<API_VERSION>/<partner_business_id>/creative_folders?filtering=[{field:"owner_business_id", operator:"EQUAL", value:"user_business_id"}]

응답

{ 
    "data": [
       { 
            "id": "<shared_folder_id>" 
       }
    ]
}

폴더에 권한이 부여된 작업 가져오기

요청

curl -X GET \
 -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<folder_id>/agencies

응답

{
 "data": [
   {
     "id": "<partner_business_id>",
     "name": "<partner business name>",
     "permitted_tasks": [
       "VIEW_INSIGHTS",
       "VIEW_CONTENT",
       "CREATE_CONTENT",
       "MANAGE_CONTENT",
       "MANAGE_PERMISSIONS"]
   }
 ],
}
  • CREATE_CONTENT 작업 권한은 공유된 폴더에 이미지와 동영상을 업로드할 때 필요합니다.
  • VIEW_INSIGHTS 작업 권한은 공유된 폴더의 이미지 또는 동영상의 크리에이티브 인사이트를 쿼리할 때 필요합니다.

2. 상위 폴더 아래에 하위 폴더 만들기

상위 폴더의 CREATE_CONTENT 작업 권한을 사용하여 공유된 폴더에 하위 폴더를 만들 수 있습니다.

  • business_creative_management 권한이 필요합니다.

하위 폴더 만들기

요청

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

응답

{
 "id": {subfolder-id}
}

3. 이미지와 동영상을 하위 폴더로 업로드

5단계. 파트너 토큰으로 이미지 및 동영상을 하위 폴더에 업로드하기에 나와 있는 것과 같은 단계를 따르세요.

이미지/동영상 Facebook 자산 ID 추적

앱이 이미지 또는 동영상을 Facebook 자산 라이브러리로 업로드하면 Facebook의 API에서 해당 자산의 ID를 반환합니다.

지속적인 연속성을 지원하려면 앱에서 해당 이미지/동영상을 생성한 프로젝트/작업 영역에 대해 자산의 ID를 추적해야 합니다.

이는 나중에 지원될 간소화된 '편집' 및 '업데이트' 사용 사례에 적용될 예정입니다. 예를 들어 다음과 같은 사용 사례가 있습니다.

  • 앱 사용자가 Facebook에 게시된 이후에도 자산을 계속 편집하고 광고에 사용할 경우, 이미지/동영상의 업데이트된 버전이 업로드되었을 때 앱에서 원본 자산 ID를 전송하면 사용자에게 간소화된 '업데이트' 또는 '분할 테스트 실행' 플로가 표시됩니다.
  • 사용자는 Facebook 광고 인사이트 패널에서 이미지/동영상 편집을 비롯한 크리에이티브 '편집' 기능을 사용할 수 있습니다. 사용자는 앱으로 이동하고 자산 ID가 전달됩니다. 그러면 앱에서 이 자산을 생성한 프로젝트가 열리고 사용자는 지난 번에 중단한 시점부터 이어서 편집을 시작할 수 있습니다.

자산에 딥 링크 URL을 제공하고 광고 및 게시물 행동 만들기

자산의 딥 링크 URL

  • 업로드된 이미지/동영상 자산의 media_library_url 필드를 쿼리합니다.

요청

curl -X GET \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<asset_id>?fields=media_library_url

광고 또는 페이지 게시물을 생성하기 위한 딥 링크 URL

  • 위의 단계에 나온 딥 링크 끝에 &action=CREATE_AD 또는 &action=CREATE_POST를 붙입니다.

예:

https://business.facebook.com/asset_library/business_creatives/?object_id=2838437832929622&action=CREATE_AD

다음 단계