Как сделать пакетный запрос для показателей рекламы

У меня есть список из примерно 260 идентификаторов кампаний, и я хочу получить все данные набора объявлений для каждого идентификатора кампании.

Я использую следующее, чтобы сделать запрос для одного идентификатора кампании, но если я запускаю это в цикле и очень быстро достигаю своего лимита пользовательских запросов.

$campaign = new AdCampaign($campaign_id);
$adsets = $campaign->getAdSets($fields);

Я следую https://developers.facebook.com/docs/marketing-api/guides/chapter-6-ads-management#sets и в настоящее время, используя то, что они предлагают:

use FacebookAds\Object\AdCampaign;
use FacebookAds\Object\Fields\AdSetFields;

$fields = array(
AdSetFields::NAME,
AdSetFields::START_TIME,
AdSetFields::END_TIME,
AdSetFields::DAILY_BUDGET,
AdSetFields::LIFETIME_BUDGET,
);

$campaign = new AdCampaign('<CAMPAIGN_GROUP_ID>');
$adsets = $campaign->getAdSets($fields);

Заранее спасибо.

2

Решение

Используйте методы пакетного запроса Facebook, чтобы запрашивать поля для каждой кампании https://developers.facebook.com/docs/graph-api/making-multiple-requests#multiple_methods

PHP Ads SDK не поддерживает пакетные запросы FB с использованием своих обёрток но вы можете использовать общую оболочку API достаточно легко. Например:

$response = $api->call('/', 'POST', array('batch' => $json_string));

Где $ api — это экземпляр Facebook \ Api, а $ json_string — это JSON-кодированный массив запросов пакетной операции для полей рекламы. JSON должен выглядеть следующим образом (с использованием API версии 2.4 и идентификаторов групповых кампаний 1000001 и 1000002):

[
{ "method": "GET",
"relative_url":"v2.4/1000001?fields=name,start_time,end_time,daily_budget,lifetime_budget"},
{ "method": "GET",
"relative_url":"v2.4/1000002?fields=name,start_time,end_time,daily_budget,lifetime_budget"}
]
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector