Eventbrite的Webhook监听器

时间:2017-06-21 15:28:05

标签: listener aws-lambda webhooks eventbrite

我一直在寻找针对Eventbrite的Webhook Listeners示例。我的目标是将其实现到amazon api网关和lambda中。我已经看过许多配置网关的教程,但没有为eventbrite提供示例代码。

有没有人有这个呢?

2 个答案:

答案 0 :(得分:0)

我也在寻找类似的东西,我在这篇文章中偶然发现了,我认为这可能是一个很好的起点:https://developers.exlibrisgroup.com/blog/Hosting-a-Webhook-Listener-in-AWS

它没有具体介绍如何创建Eventbrite webhook监听器,但它应该足以让您入门。

答案 1 :(得分:0)

去年我实际上创建了一个PHP监听器,它接受了参与者更新事件并执行了查找以获取更新的与会者信息。我使用了一个API框架,所以我只会给你一些你可以转置用于Lambda的最重要的部分:

//Assuming $body is the webhook payload
$url = $body['api_url'];
$arr = explode('/',rtrim(substr($url,strpos($url,'events/')),'/'));
for($i=0; $i<count($arr); $i+=2) {
    $parts[$arr[$i]] = $arr[$i+1];
}

使用eventbrite/eventbrite-sdk-php我创建了一个包装类:

class Eventbrite {

    const OAUTH_TOKEN = '(TOKEN)';

    function __construct() {
        $this->Client = new \HttpClient(self::OAUTH_TOKEN);
    }

    public function get_attendee($event = '(DEFAULT EVENT ID)',$id) {
        $path = "/events/".$event."/attendees/".$id."/";
        return $this->Client->get($path);
        //return array($path);
    }
    public function get_order($order) {
        $path = "/orders/".$order;
        return $this->Client->get($path);
    }
}

然后使用$parts数组:

$Eventbrite = new Eventbrite();
$attendee = $Eventbrite->get_attendee($parts['events'],$parts['attendees']);

然后,您可以在$attendee数组中获取所有与会者的注册信息,状态等,例如: $attendee['profile']['first_name']