การกำหนดเวลาขั้นสูง

เอกสารนี้แสดงตัวอย่าง schedule_type ของ CUSTOM โดยละเอียด

ตามที่อ้างอิงจากเอกสารประกอบหลัก:

หาก schedule_type เป็น CUSTOM คุณต้องระบุรายการกำหนดเวลาแบบกำหนดเองหรือเวลาที่จะเรียกใช้กฎด้วย ในรายการ schedule ข้อมูลจำเพาะแต่ละรายการสามารถประกอบด้วยช่องต่อไปนี้รวมกันได้ โดยมีข้อกำหนดเดียวคือต้องมี start_minute หรือ days อยู่ในแต่ละรายการ

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

start_minute

เวลาเป็นนาทีหลัง 00:00 น. โดยจะต้องเป็นจำนวนที่เพิ่มขึ้นครั้งละ 30 นาที หากคุณตั้งค่าช่องนี้แต่ไม่มี end_minute ค่านี้จะกำหนดเวลาที่จะเรียกใช้กฎอย่างแน่ชัด แต่ถ้าหากมี ระบบจะกำหนดช่วงเวลาที่จะเรียกใช้กฎโดยพิจารณาจาก end_minute หากไม่ได้ตั้งค่าช่องนี้ไว้ กฎจะเรียกใช้ SEMI_HOURLY สำหรับแต่ละวันที่ระบุใน days

end_minute

เวลาเป็นนาทีหลัง 00:00 น. โดยจะต้องเป็นจำนวนที่เพิ่มขึ้นครั้งละ 30 นาที และเป็นเวลาหลังจาก start_minute หากคุณตั้งค่าไว้ ช่องนี้จะกำหนดช่วงเวลาที่จะเรียกใช้กฎโดยพิจารณาจาก start_minute หาก end_minute เป็นค่าเดียวกันกับ start_minute ช่องนี้ก็จะกำหนดเวลาที่จะเรียกใช้กฎอย่างแน่ชัดด้วย

days

รายการวันที่จะเรียกใช้กฎ โดยแต่ละวันต้องเป็นค่าตั้งแต่ 0-6 เช่น 0 คือวันอาทิตย์ 1 คือวันจันทร์ เรียงตามลำดับไปจนถึงค่า 6 ที่เป็นวันเสาร์ หากไม่ได้ตั้งค่าช่องนี้ไว้ ระบบจะเรียกใช้กฎตลอด 7 วันโดยอิงตาม start_minute และ end_minute (ถ้ามี)

ต่อไปนี้เป็นตัวอย่างการใช้การกำหนดเวลาขั้นสูงเพื่อกำหนดเวลาให้เรียกใช้กฎทุกวันในเวลา 10:00 น. หากไม่ได้ระบุช่อง days เราจะถือว่าข้อมูลจำเพาะของกำหนดเวลานี้จะใช้ได้กับทุกวันโดยอัตโนมัติ

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "start_minute": 600,
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

ตัวอย่าง

ต่อไปนี้คือตัวอย่างกฎที่จะมีการเรียกใช้ทุกๆ 30 นาทีเฉพาะวันหยุดสุดสัปดาห์ หากไม่ได้ระบุช่อง start_minute เราจะตัดสินใจให้มีการเรียกใช้กฎเป็น SEMI_HOURLY สำหรับวันที่ระบุไว้

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "days": [0, 6]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

ต่อไปนี้คือตัวอย่างกฎที่จะเรียกใช้เฉพาะวันพุธในเวลา 02:00 น. หากไม่ได้ระบุช่อง end_minute เราจะตัดสินใจให้มีการเรียกใช้กฎในเวลาใดเวลาหนึ่งเท่านั้น แทนที่จะเป็นช่วงเวลาหนึ่ง

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "start_minute": 120,
         "days": [3]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

แต่ละกำหนดเวลาจะถูกคำนวณแยกกันเป็น OR ร่วมกับกำหนดเวลาอื่นๆ ต่อไปนี้คือตัวอย่างกฎที่จะเรียกใช้ตลอดทั้งวันในวันธรรมดา แต่จะเรียกใช้เฉพาะเวลา 12:00 - 13:00 น. ในวันหยุดสุดสัปดาห์เท่านั้น หากมีการระบุช่อง end_minute เราจะดูช่วงเวลาตั้งแต่ start_minute ถึง end_minute

curl \
-F 'name=Test Advanced Scheduling Rule' \
-F 'schedule_spec={
     "schedule_type": "CUSTOM",
     "schedule": [
       {
         "days": [1, 2, 3, 4, 5]
       },
       {
         "start_minute": 720,
         "end_minute": 780,
         "days": [0, 6]
       }
     ]
   }' \
-F 'evaluation_spec={
     ...
   }' \
-F 'execution_spec={
     ...
   }' \
-F "access_token=<ACCESS_TOKEN>" \
https://graph.facebook.com/<VERSION>/<AD_ACCOUNT_ID>/adrules_library

โปรดทราบว่า หากคุณไม่ได้ระบุช่อง days ในข้อมูลจำเพาะของกำหนดเวลาที่สอง ผลลัพธ์ที่ได้จะไม่ต่างกัน เนื่องจากข้อมูลจำเพาะของกำหนดเวลาแรกได้รวมเวลา 12:00 - 13:00 น. ในวันธรรมดาเอาไว้ด้วย