如何使用PHP获取Campaign Monitor webhook有效负载?

时间:2011-12-07 21:00:16

标签: php api webhooks

我正在使用PHP创建一个系统,当有人取消订阅时事通讯时会获取webhook有效负载,但我可以弄清楚如何在PHP中获取实际的有效负载信息。

是否有要获取的POST数据? PHP如何查找此POST数据?

更新:我可能会做些什么。似乎函数http_get_request_body()会起作用吗?

2 个答案:

答案 0 :(得分:0)

$http_get_request_body解决了它:)

答案 1 :(得分:0)

我最近遇到了这个问题并使用以下PHP代码来处理Campaign Monitor Web Hooks

<?php
$json = file_get_contents('php://input');
$data = json_decode( $json, TRUE ); //convert JSON into array

foreach ($data['Events'] as $event)
{
    // Process each entry in the request
}

JSON数据一旦转换为数组,就会以这种格式提供数据:

array (
    'ListID' => 'LIST_ID_KEY',
    'Events' => array (
        0 =>
            array (
                'Type' => 'Subscribe',
                'Date' => '2014-01-01 16:00:00',
                'EmailAddress' => 'test@example.com',
                'Name' => 'John Smith',
                'CustomFields' => array (),
                'SignupIPAddress' => 'API',
            ),
        ),
)