Lên lịch nâng cao

Tài liệu này cung cấp các ví dụ chi tiết hơn về schedule_typeCUSTOM.

Như đã đề cập trong tài liệu chính:

Nếu schedule_typeCUSTOM, bạn cũng phải chỉ định danh sách lịch chạy tùy chỉnh hoặc thời gian chạy quy tắc. Trong danh sách schedule, mỗi quy cách riêng lẻ có thể bao gồm một tập hợp các trường sau đây, với yêu cầu duy nhất là mỗi mục nhập phải có ít nhất 1 trong 2 trường start_minute hoặc days.

Trường Mô tả

start_minute

Thời gian tính bằng phút sau 00:00. Phải là bội số của 30 phút. Nếu được đặt và không có end_minute, trường này sẽ xác định thời gian chính xác để chạy quy tắc. Nếu không, trường này sẽ xác định khoảng thời gian chạy quy tắc theo end_minute. Nếu bạn không đặt trường này, quy tắc sẽ chạy SEMI_HOURLY cho mỗi ngày được chỉ định trong days.

end_minute

Thời gian tính bằng phút sau 00:00. Phải là bội số của 30 phút và sau start_minute. Nếu được đặt, trường này sẽ xác định khoảng thời gian chạy quy tắc theo start_minute. Nếu end_minute giống với start_minute, trường này cũng sẽ xác định thời gian chính xác để chạy quy tắc.

days

Danh sách các ngày chạy quy tắc. Mỗi ngày phải là một giá trị nằm trong khoảng 0-6. 0 là Chủ nhật, 1 là thứ Hai, ..., 6 là thứ Bảy. Nếu bạn không đặt trường này, quy tắc sẽ chạy vào cả 7 ngày dựa trên start_minuteend_minute (nếu có).

Sau đây là ví dụ về việc dùng công cụ Lên lịch nâng cao để lên lịch chạy quy tắc hàng ngày vào lúc 10:00. Bằng việc bỏ qua days, chúng ta tự động suy ra rằng quy cách lịch chạy này sẽ áp dụng cho mọi ngày.

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

Ví dụ

Sau đây là ví dụ về một quy tắc chạy 30 phút/lần chỉ vào cuối tuần. Bằng việc bỏ qua start_minute, chúng ta suy ra rằng quy tắc này sẽ chạy theo chu kỳ SEMI_HOURLY trong những ngày đã chỉ định.

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

Sau đây là ví dụ về một quy tắc chỉ chạy vào lúc 2:00 thứ Tư. Bằng việc bỏ qua end_minute, chúng ta suy ra rằng quy tắc này chỉ chạy vào một thời điểm cụ thể chứ không phải một khoảng thời gian.

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

Mỗi lịch chạy riêng lẻ được tính toán độc lập với các lịch chạy khác theo toán tử OR (HOẶC). Sau đây là ví dụ về một quy tắc chạy cả ngày vào các ngày trong tuần, nhưng chỉ chạy từ 12:00 đến 13:00 vào cuối tuần. Bằng việc thêm end_minute ở đây, bây giờ, chúng ta sẽ xem xét khoảng thời gian từ start_minute đến 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

Lưu ý rằng việc không chỉ định days trong quy cách lịch chạy thứ hai cũng sẽ có hiệu quả tương đương, vì quy cách thứ nhất đã bao gồm khoảng thời gian từ 12:00 đến 13:00 vào các ngày trong tuần.