You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook Conversions API错误100:参数data缺失问题排查问询

Facebook Conversions API错误代码100:"The parameter data is required" 解决方法

你遇到的问题有两个核心原因:

1. 请求体JSON语法错误

从你打印的$data内容可以看到,"data"数组的闭合大括号后面多了一个多余的逗号:

]
        }, // 这里的逗号是错误的
    "test_event_code":"TEST7672"

这个语法错误会导致Facebook的API无法正确解析整个JSON请求体,自然识别不到data字段,从而返回「参数data是必需的」错误。

2. 未设置正确的请求头

你注释掉了content-type: application/json请求头,cURL默认会以multipart/form-data格式发送请求体,但Facebook Conversions API要求接收JSON格式的请求,所以必须添加这个请求头,明确告知服务器请求体的类型。

修改后的代码

$pixelID = "MY PIXEL ID";
$token = "MY TOKEN";
$url = "https://graph.facebook.com/v10.0/$pixelID/events?access_token=$token";

$testEvent = "MY TEST ID";

$curl = curl_init($url);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

// 恢复并设置正确的请求头
$headers = array(
    "content-type: application/json",
);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);

// 修正JSON语法:去掉data闭合大括号后的多余逗号
$data = '{
            "data": [
                {
                    "event_name": "Purchase",
                    "event_time": ' . $timestamp . ',
                    "action_source": "website",
                    "user_data": {
                        "em": [
                            "' . $email . '"
                        ],
                        "ph": [
                            "' . $phonenumber . '"
                        ],
                        "fn": [
                            "' . $firstName . '"
                        ],
                        "ln": [
                            "' . $lastName . '"
                        ],
                        "ct": [
                            "' . $city . '"
                        ],
                        "st": [
                            "' . $county . '"
                        ],
                        "zp": [
                            "' . $postCode . '"
                        ],
                        "country": [
                            "0b407281768f0e833afef47ed464b6571d01ca4d53c12ce5c51d1462f4ad6677"
                        ]
                    },
                    "custom_data": {
                        "currency": "GBP",
                        "value": "' . (float)$paytotal . '"
                    }
                }
            ],
    "test_event_code":"' . $testEvent . '"
}';

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$resp = curl_exec($curl);
curl_close($curl);
var_dump($resp);

额外建议

为了避免手动拼接JSON出现语法错误,推荐使用json_encode()函数来生成请求体,这样能自动处理语法细节,比如字符串转义、逗号分隔等:

// 先构造PHP数组
$payload = [
    "data" => [
        [
            "event_name" => "Purchase",
            "event_time" => $timestamp,
            "action_source" => "website",
            "user_data" => [
                "em" => [$email],
                "ph" => [$phonenumber],
                "fn" => [$firstName],
                "ln" => [$lastName],
                "ct" => [$city],
                "st" => [$county],
                "zp" => [$postCode],
                "country" => ["0b407281768f0e833afef47ed464b6571d01ca4d53c12ce5c51d1462f4ad6677"]
            ],
            "custom_data" => [
                "currency" => "GBP",
                "value" => (float)$paytotal
            ]
        ]
    ],
    "test_event_code" => $testEvent
];

// 转换成JSON字符串
$data = json_encode($payload);

这种方式能彻底避免手动拼接JSON带来的语法错误,更可靠。

内容的提问来源于stack exchange,提问作者Eoin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:34:59