使用 webhook 获取 Facebook 线索广告的表单名称

Get the form name of Facebook lead ads using webhook

我有两个不同的 Facebook 线索广告活动(A 和 B)连接到同一个 F.B 页面,我已经使用 Facebook 广告 [=31] 将它连接到一个 webhook guide =] sdk,并将潜在客户传递给我的 C.R.M,一切正常,问题是 我无法判断潜在客户是来自表格 A 还是来自表格 B

我试过像这样提取发件人名称:

$input = json_decode(file_get_contents('php://input'), true);
if($input)
{
    $form_id = $input['entry'][0]['changes'][0]['value']['form_id'];
    $form = AdsWebhookHandler::getFormName($form_id);
}

来自AdsWebhookHandlerclass:

public static function getFormName($form_id)
    {
        $form = new LeadgenForm($form_id);

        if(!$form) return $form_id;

        return $form->read();
    }

但出于某种原因,表格总是 returns 为空 ({})。 有谁知道我怎样才能提取表格名称?甚至更好 - 是否可以在表单中传递自定义隐藏字段?

谢谢大家的回答:)

O.K 所以我弄清楚了如何获取表单名称,我需要做的就是使用 Facebook PHP SDK 中包含的 getData() 函数,我的代码看起来像现在:

public function getFormName($form_id)
{
    $form = new LeadgenForm($form_id,null,$this->fb_instance);

    if(!$form) return $form_id;

    $data = $form->read()->getData();
    return isset($data['name']) ? $data['name'] : $form_id;
}

希望它能对以后的人有所帮助:)