การเริ่มต้นใช้งานชิ้นงานโฆษณาของ 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_management และ business_management ที่เลือกไว้ในขั้นตอน "ขอบเขตที่มี"

เลือกปุ่ม "ส่งการออกแบบของฉันไปที่ Facebook"

ปุ่มนี้ใช้เพื่อส่งองค์ประกอบไปยังคลังสื่อ Facebook ของผู้ใช้จากแอพของคุณ ในขั้นตอนนี้ แอพของคุณจะต้องอนุญาตให้ผู้ใช้สามารถเลือกหรือสร้างโฟลเดอร์ปลายทางสำหรับองค์ประกอบดังกล่าวได้

เราขอแนะนำวิธีในการดำเนินการดังกล่าว 2 วิธี ได้แก่:

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:CREATIVE และ business_vertical: CREATIVE ในส่วนการตั้งค่า
  • ใช้สิทธิ์การอนุญาต business_creative_management และ business_creative_insights
    • จำเป็นต้องทำเพื่อสืบค้น ID ธุรกิจ สร้างโฟลเดอร์ และอัพโหลดองค์ประกอบของชิ้นงานโฆษณาไปยังโฟลเดอร์
  • (ไม่บังคับ) ใช้สิทธิ์การอนุญาต business_creative_insights_share
    • ช่วยให้ผู้ใช้สามารถแชร์โฟลเดอร์กับคุณได้ด้วยสิทธิ์การอนุญาตสำหรับงาน VIEW_INSIGHTS

เมื่อใช้โทเค็นการเข้าถึงผู้ใช้ที่ได้มาจากการดำเนินการนี้ คุณจะสามารถเรียกใช้ API ในนามของผู้ใช้ได้

การกำหนดค่าที่จำเป็น

เพิ่มเติม

ช่องประเภทคำอธิบาย

setup

การตั้งค่า

จำเป็นต้องระบุ

การตั้งค่า Facebook ของผู้ขาย เช่น ตัวระบุที่ไม่ซ้ำกันของผู้ขาย (external_business_id) หรือสกุลเงินของแค็ตตาล็อกของผู้ขาย (currency) ดูรายละเอียดของอ็อบเจ็กต์การตั้งค่า

business_config

business_config

จำเป็นต้องระบุ

อ็อบเจ็กต์การกำหนดค่าที่ส่วนขยาย Facebook Business ใช้กำหนดค่าขั้นตอนการทำงานของส่วนขยาย Facebook Business ดูรายละเอียดของอ็อบเจ็กต์ business_config

repeat

บูลีน

จำเป็นต้องระบุ

ตั้งค่านี้เป็น false

การตั้งค่า

ใช้อ็อบเจ็กต์นี้เพื่อกำหนดการตั้งค่าสำหรับตัวตนบน Facebook ของผู้ใช้ปลายทาง

ช่องคำอธิบาย

external_business_id
ประเภท: สตริง

จำเป็นต้องระบุ
ID ธุรกิจที่ไม่ซ้ำกัน สำหรับแสดงถึงธุรกิจของลูกค้า เราใช้ ID นี้เป็นตัวระบุที่ไม่ซ้ำกัน ตัวอย่างเช่น หากบริษัทของผู้ขายมีชื่อว่า "Fubar" external_business_id ของบริษัทนี้ก็อาจเป็น "fubar-123"

timezone
ประเภท: สตริง

จำเป็นต้องระบุ
โซนเวลาตามสถานที่ตั้งของธุรกิจ โปรดดูค่าโซนเวลาที่ใช้ได้

currency
ประเภท: สตริง

จำเป็นต้องระบุ
รหัสสกุลเงินตาม ISO จำนวน 3 ตัวอักษรของสกุลเงินเริ่มต้นที่สินค้าในแค็ตตาล็อกของธุรกิจใช้ โปรดดูรหัสสกุลเงินที่รองรับ

business_vertical
ประเภท: enum

จำเป็นต้องระบุ
หมวดหมู่ที่เชื่อมโยงกับ
ค่าของธุรกิจ: CREATIVE

channel
ประเภท: enum

จำเป็นต้องระบุ
ช่วยให้พาร์ทเนอร์มีวิธีในการแสดงความประสงค์กับผู้ใช้เกี่ยวกับฟีเจอร์ต่างๆ ที่ต้องมีขั้นตอนหรือข้อจำกัดเพิ่มเติม ค่า: CREATIVE

  • CREATIVE — ขั้นตอนที่ช่วยให้ผู้ใช้สามารถสร้างชิ้นงานโฆษณาบนแพลตฟอร์มของพาร์ทเนอร์และแชร์กลับไปยังตัวจัดการธุรกิจของผู้ใช้ได้

business_manager_id
ประเภท: สตริง

ระบุหรือไม่ก็ได้
ID ตัวจัดการธุรกิจสำหรับตัวจัดการธุรกิจที่ผู้ใช้มีอยู่แล้ว ซึ่งพาร์ทเนอร์สามารถป้อนเพื่อเลือกให้ผู้ใช้ล่วงหน้าได้ในขั้นตอนการตั้งค่า

การกำหนดค่าธุรกิจ

ใช้อ็อบเจ็กต์นี้เพื่อกำหนดค่าการตั้งค่าธุรกิจสำหรับผู้ใช้ปลายทาง ซึ่งรวมถึง CTA, การ์ดบริการ และอื่นๆ โดยแต่ละช่องจะมี "ประเภท" ที่เชื่อมโยงกับตารางที่เกี่ยวข้องด้านล่าง

ช่องคำอธิบาย

business
ประเภท: FBEBusinessPropertiesConfigData

จำเป็นต้องระบุ
ข้อมูลสำหรับธุรกิจของผู้ใช้ปลายทาง

FBEBusinessPropertiesConfigData

ใช้อ็อบเจ็กต์นี้เพื่อกำหนดชื่อธุรกิจ

ช่องคำอธิบาย

name
ประเภท: สตริง

จำเป็นต้องระบุ
ชื่อธุรกิจ

2. รับบริบททางธุรกิจ

หลังจากผู้ใช้เสร็จสิ้นขั้นตอนการเริ่มต้นใช้งาน FBE ด้านบนแล้ว คุณจะได้รับ ID ตัวจัดการธุรกิจและโทเค็นการเข้าถึงของผู้ใช้รายดังกล่าวจาก API การติดตั้ง FBE หรือการแจ้งเตือน Webhook

3. เลือกหรือสร้างโฟลเดอร์ระดับบนสุด

ผู้ใช้สามารถอัพโหลดองค์ประกอบไปยังโฟลเดอร์ระดับบนสุดหรือสร้างโฟลเดอร์ย่อยในโฟลเดอร์ระดับบนสุดได้

ก่อนอื่น ให้ตรวจสอบว่าโฟลเดอร์ระดับบนสุดรายการใดที่ผู้ใช้มีสิทธิ์การอนุญาตสำหรับงาน CREATE_CONTENT โดยส่งคำขอไปยังตำแหน่งข้อมูล <business_id>/creative_folders (อยู่ระหว่างการพัฒนา)

รับโฟลเดอร์ระดับบนสุดจากธุรกิจของผู้ใช้

คำขอ

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

หมายเหตุ: คุณสามารถดูชื่อธุรกิจของผู้ใช้ได้โดยการส่งคำขอ GET ไปยังตำแหน่งข้อมูล {business-id} โดยใช้ ID ธุรกิจของผู้ใช้เป็น {business-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}
}

การลบโฟลเดอร์และโฟลเดอร์ย่อยสามารถทำได้โดยส่งคำขอ DELETE ไปยังตำแหน่งข้อมูล <folder_id> หรือ <subfolder_id>

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}"
         }
    }
}

อัพโหลดวิดีโอ

อัพโหลดวิดีโอโดยใช้คำขอเดียวหากวิดีโอนั้นมีขนาดน้อยกว่า 2-3 เมกะไบต์ หรืออัพโหลดวิดีโอแบบเป็นกลุ่ม (ดูส่วนถัดไปที่ด้านล่างนี้) เรียกใช้ API ของคุณเพื่ออัพโหลดวิดีโอที่ graph-video.facebook.com แทน graph.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 รายการหรือหลายรายการ และคำขอเสร็จสิ้น 1 รายการ

ในการส่งคำขอเริ่มต้นและการสร้างเซสชั่นการอัพโหลดวิดีโอ ให้ส่งคำขอ POST ไปยัง /{business-id}/videos ตั้งค่าช่อง upload_phase เพื่อเริ่มต้น และระบุ 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] จากวิดีโอของคุณ ให้แบ่งไฟล์ออกเป็นกลุ่มๆ ตามออฟเซ็ตเริ่มต้นและออฟเซ็ตสิ้นสุด จากนั้นให้ส่งกลุ่มวิดีโอเหล่านั้นพร้อมกับคำขอการโอน เราจะส่งออฟเซ็ตใหม่ให้คุณสำหรับวิดีโอแต่ละกลุ่ม และให้ใช้ออฟเซ็ตใหม่เหล่านี้เพื่ออัพโหลดวิดีโอแต่ละกลุ่ม

ตัวอย่าง: ส่งวิดีโอกลุ่มแรกของคุณ

คำขอ

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
}

ตัดและอัพโหลดกลุ่มที่ 2 ด้วยช่วง [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_offset จะเท่ากับ end_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

หากคุณพบข้อผิดพลาดระหว่างการอัพโหลด คุณสามารถลองอัพโหลดกลุ่มดังกล่าวอีกครั้งได้ โดยปกติแล้ว ข้อผิดพลาดจะเกิดจากปัญหาในการตอบกลับ ให้ลองอัพโหลดกลุ่มที่มีข้อผิดพลาดอีกครั้ง โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับข้อผิดพลาดที่ลิงก์ต่อไปนี้:

แอพของคุณควรแจ้งให้ผู้ใช้ทราบว่าการอัพโหลดสำเร็จแล้ว และแสดง Deep Link ไปยังชิ้นงานโฆษณานี้ผ่านการกระตุ้นให้ดำเนินการ "ดูชิ้นงานโฆษณาในคลังองค์ประกอบของ Facebook ของฉัน" Deep Link ของโฟลเดอร์หรือองค์ประกอบคือ:

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 ของ Deep Link ได้โดยการส่งคำขอ 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_tasks เป็น CREATE_CONTENT

หมายเหตุ: คุณยังสามารถกำหนดงานที่อนุญาตแบบ VIEW_INSIGHTS ได้เช่นกัน หากผู้ใช้มอบ business_creative_insights_share ให้แก่แอพของคุณ (อยู่ระหว่างการพัฒนา)

แชร์โฟลเดอร์

  • จำเป็นต้องมีสิทธิ์การอนุญาต 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 ใน 2 ประเภท ซึ่งจะขึ้นอยู่กับบทบาทของผู้ใช้ในองค์กรธุรกิจของพวกเขา:

1) หากโทเค็นของไคลเอ็นต์แสดงถึงผู้ดูแลธุรกิจ:

API จะกำหนดข้อตกลงการเป็นพาร์ทเนอร์ระหว่างธุรกิจของผู้ใช้กับธุรกิจของลูกค้า

การตอบกลับ

หากมีการกำหนดข้อตกลงการเป็นพาร์ทเนอร์ระหว่างธุรกิจของผู้ใช้กับธุรกิจของคุณ (ธุรกิจของผู้ใช้แชร์โฟลเดอร์กับคุณและคุณได้ยอมรับคำขอในการแชร์มาก่อน):

{ 
    "success": true
}

หากคุณยังไม่ยอมรับคำขอในการแชร์ใดๆ จากธุรกิจของผู้ใช้:

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

ในกรณีนี้ ธุรกิจของคุณจะต้องยอมรับคำขอในการแชร์ก่อนจึงจะสามารถเข้าถึงความสามารถทั้งหมดที่เกิดจากการแชร์ดังกล่าวได้ (ดู สร้าง และอื่นๆ)

หากต้องการแสดงข้อตกลงการเป็นพาร์ทเนอร์ทั้งหมดที่กำลังรอการอนุมัติ ให้ส่งคำขอไปที่ {business-id}/received_sharing_agreements โดยใช้โทเค็นการเข้าถึงของพาร์ทเนอร์ของคุณ และตั้งค่า request_status เป็น IN_PROGRESS คุณต้องมีสิทธิ์การอนุญาต business_creative_management และ business_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}"

คุณสามารถยอมรับคำขอในการแชร์ได้โดยส่ง POST ไปยัง business_sharing_agreement_request_id และตั้งค่า request_status เป็น APPROVE คุณจำเป็นต้องดำเนินการนี้เฉพาะในครั้งแรกที่มีคนแชร์โฟลเดอร์กับธุรกิจของคุณ คุณต้องมีสิทธิ์การอนุญาต 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_status เป็น IN_PROGRESS และตั้งค่า requesting_business_id เป็น ID ตัวจัดการธุรกิจของผู้ใช้ คุณต้องมีสิทธิ์การอนุญาต business_creative_management และ business_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_status จะได้รับการอัพเดตเป็น IN_PROGRESS คุณสามารถแสดงข้อตกลงการเป็นพาร์ทเนอร์ทั้งหมดที่มีสถานะเป็น IN_PROGRESS และยอมรับข้อตกลงเหล่านั้นผ่าน API หรือใน UI ของตัวจัดการธุรกิจได้

7. ดูข้อมูลเชิงลึกเกี่ยวกับรูปภาพ/วิดีโอ (ไม่บังคับ)

เมื่อผู้ใช้แชร์โฟลเดอร์กับคุณด้วยสิทธิ์การอนุญาตสำหรับงาน VIEW_INSIGHTS คุณจะสามารถอ่านข้อมูลเชิงลึกเกี่ยวกับรูปภาพและวิดีโอของธุรกิจภายใต้โฟลเดอร์ที่แชร์ได้ โดยการส่งคำขอ GET ที่ตำแหน่งข้อมูล <business_asset_id>/insights

ข้อมูลเชิงลึกเกี่ยวกับชิ้นงานโฆษณาของธุรกิจ

  • จำเป็นต้องมีสิทธิ์การอนุญาต business_creative_management และ business_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 (ต้องระบุวันที่ในรูปแบบ "ปปปป-ดด-วว" ซึ่งจะเริ่มนับตั้งแต่เวลาเที่ยงคืนของวันนั้นๆ)

การจัดการโฟลเดอร์ที่แชร์โดยใช้โทเค็นของพาร์ทเนอร์โดยตรง

ในกรณีของพาร์ทเนอร์ด้านบริการภายใต้สัญญา คุณสามารถจัดการโฟลเดอร์ระดับบนสุดได้ด้วยโทเค็นการเข้าถึงของพาร์ทเนอร์หากมีการแชร์โฟลเดอร์กลับมาให้คุณพร้อมกับงานที่อนุญาตอันเหมาะสม ซึ่งช่วยให้คุณมีสิทธิ์การอนุญาตต่อไปนี้:

  • สิทธิ์การอนุญาตสำหรับงาน 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 อัพโหลดรูปภาพและวิดีโอไปยังโฟลเดอร์ย่อยด้วยโทเค็นของพาร์ทเนอร์

การติดตาม ID องค์ประกอบที่เป็นรูปภาพ/วิดีโอบน Facebook

เมื่อแอพของคุณอัพโหลดรูปภาพหรือวิดีโอไปยังคลังองค์ประกอบของ Facebook แล้ว API ของ Facebook จะส่งคืน ID สำหรับองค์ประกอบนั้นๆ

แอพของคุณจะต้องติดตาม ID ขององค์ประกอบกับโปรเจ็กต์/พื้นที่ทำงานที่สร้างรูปภาพ/วิดีโอนี้ในแอพของคุณเพื่อให้มีความต่อเนื่องอยู่เสมอ

การดำเนินการเช่นนี้จะช่วยให้มีการ "แก้ไข" และ "อัพเดต" ได้อย่างมีประสิทธิภาพ ซึ่งจะมีการรองรับในอนาคต เช่น:

  • ผู้ใช้ในแอพของคุณที่ตัดสินใจแก้ไของค์ประกอบต่อหลังจากที่ได้เผยแพร่ไปยัง Facebook และใช้ในโฆษณาแล้ว ผู้ใช้ดังกล่าวจะได้รับแจ้งถึงขั้นตอน "อัพเดต" หรือ "ดำเนินการทดสอบแบบแยก" ที่มีประสิทธิภาพ หากแอพของคุณส่ง ID องค์ประกอบเดิมเมื่อมีการอัพโหลดรูปภาพ/วิดีโอเวอร์ชั่นอัพเดต
  • ผู้ใช้ในแผงข้อมูลเชิงลึกเกี่ยวกับโฆษณาบน Facebook สามารถ "แก้ไข" ชิ้นงานโฆษณาของตนได้ รวมถึงการแก้ไขรูปภาพ/วิดีโอที่จะส่งผู้ใช้ไปยังแอพของคุณ โดยจะมีการส่ง ID องค์ประกอบ และเพื่อให้สอดรับกัน แอพของคุณก็จะสามารถเปิดโปรเจ็กต์ที่สร้างองค์ประกอบนี้ได้ ซึ่งทำให้ผู้ใช้สามารถดำเนินการต่อจากจุดที่ค้างไว้ได้

ระบุ URL ของ Deep Link ที่ไปยังองค์ประกอบ และสร้างการดำเนินการบนโฆษณาและโพสต์

URL ของ Deep Link สำหรับองค์ประกอบ

  • สืบค้นช่อง 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 ของ Deep Link สำหรับการสร้างโฆษณาหรือโพสต์บนเพจ

  • นำ &action=CREATE_AD หรือ &action=CREATE_POST ไปต่อท้าย Deep Link จากขั้นตอนข้างต้น

ตัวอย่าง:

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

ขั้นตอนถัดไป