Проблема с фильтром Facebook Graph API «time_created», который не сравнивает интересы за секундыPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Проблема с фильтром Facebook Graph API «time_created», который не сравнивает интересы за секунды

Сообщение Anonymous »

Я столкнулся с проблемой в API Facebook Graph при фильтрации потенциальных клиентов на основе поля time_created с использованием временных меток UNIX. Похоже, что фильтрация времени API не точна до секунды.
Например, если я фильтрую интересы, созданные 07.06.2024, 11:58:00 (фактически в метке времени UNIX), а значение time_created для интереса равно 06-07-2024, 11:58:12, интерес по-прежнему включен в ответ, что приводит к появлению дубликатов в моих данных.
Кто-нибудь еще сталкивался с этой проблемой или нашел способ обеспечить точность фильтрации с точностью до секунды?
Мой код:

Код: Выделить всё

$currentDateTime = Carbon::now(); //At Very Start of Code.
$lastestDate = Carbon::parse(LeadData::latest()->first()->last_processed_time)->getTimestamp();
.
.
.
.
$newUrl2 = "https://graph.facebook.com/v20.0/{$adId}/leads";

$paramsNew2 = [
//'since' => $lastestDate,
'filtering' => json_encode([
[
'field' => 'time_created',
'operator' => 'GREATER_THAN', //_OR_EQUAL
'value' => $latestDate, // 1720247400, getting it from DB as last_processed_time.
]
]),
'fields' => "id,form_id,platform,partner_name,field_data,ad_id,adset_id,campaign_id,ad_name,adset_name,campaign_name,created_time,post",
'access_token' => $accessToken,
];

$response2 = Http::get($newUrl2, $paramsNew2);
$data3 = $response2->json();

$leadDatas = $data3['data'] ?? null;
foreach ($leadDatas as $leadData)
{
try
{
LeadData::create([
'account_id' => $adAccountId ?? null,
'account_name' => null, ///$accountName,
'campaign_id' => $leadData['campaign_id'],
'campaign_name' => $leadData['campaign_name'],
'adset_id' => $leadData['adset_id'],
'adset_name' => $leadData['adset_name'],
'ad_id' => $leadData['ad_id'],
'ad_name' => $leadData['ad_name'],
'ad_status' => $adStatus,
'lead_id' => $leadData['id'],
'lead_created_time' => $leadData['created_time'],
'platform' => $leadData['platform'],
'form_id' => $leadData['form_id'],
'field_data' => json_encode($leadData['field_data'], JSON_UNESCAPED_UNICODE),
'last_processed_time' => $currentDateTime,
]);

} catch (\Exception $e) {
echo "Data entry in database failed: " . $e->getMessage() ."\n";
Log::error($e->getMessage());
}
}
Затем я сохраняю лиды в базе данных.

Подробнее здесь: https://stackoverflow.com/questions/787 ... s-in-secon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»