michelmelo/emailbidding-sdk
一组允许与Emailbidding API交互的脚本
Requires
- php: >=5.5
- guzzlehttp/guzzle: ~6.2
- symfony/yaml: @stable
Requires (Dev)
- phpmd/phpmd: ~1.5.0
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: dev-master
- squizlabs/php_codesniffer: 1.5.*
README
此SDK旨在帮助Emailbiddings的出版商将他们的系统与Emailbidding平台集成。
需求
您需要在您的服务器上安装PHP 5.4或更高版本,并将包'wondeotec/emailbidding-sdk'添加到您的composer依赖项中。
Webhooks
如果您是Emailbidding出版商,则可以订阅一个端点并监听Emailbidding的事件,例如退订、软退订、硬退订、点击或甚至打开。
此SDK帮助您测试测试,以便能够接收webhook事件。Emailbidding系统始终向给定的端点发送HTTP POST请求,请求体中的JSON对象与以下内容相同
{ "ip_address":"127.0.0.1", "action":"unsubscription", "campaign_id":6368, "list_external_id":"my_list", "reason":"user_request", "recipient_email_address":"email@domain.com", "hash":"8d4ba2b6fc195d3f95039377ac7208e6", "recipient_external_id":"5556664", "trigger_date":"2015-09-03 11:13:34", "type":"unsubscription" }
此SDK提供了一个对象,以与生产环境中Emailbidding系统发送的方式将webhook发送到您的端点。
对象'EB\SDK\Webhook\Webhook'有一个接受负载和端点的方法。您可以创建一个类型为'EB\SDK\Webhook\Payload'的对象,或者只需'询问'EB\SDK\Webhook\Payload'为您创建一个简单的对象。请参见以下示例
<?php (...) use EB\SDK\Webhook\PayloadFactory; use EB\SDK\Webhook\Webhook; (...) $webhook = new Webhook(); $success = $webhook->post( PayloadFactory::createOpen('email@domain.com', 'my_list'), 'https://your.secure.server/endpoint' ));
收件人订阅
Emailbidding收件人订阅API允许您将数据库上传到Emailbidding平台。您必须区分提交收件人的方法:简单和匿名集成。此SDK帮助您在集成过程中提供'EB\SDK\RecipientSubscribe\RecipientSubscribe'对象,您可以实例化它并使用'EB\SDK\RecipientSubscribe\Recipient'对象,然后只需将收件人数据发布到Emailbidding。以下是一个示例
<?php (...) use EB\SDK\RecipientSubscribe\RecipientSubscribe; use EB\SDK\RecipientSubscribe\RecipientFactory; (...) // ** RECIPIENT SUBSCRIBE ** // // Creating a recipient subscribe object with my credentials $recipientSubscribe = new RecipientSubscribe('YOUR_PUBLISHER_API_KEY', 'YOUR_PUBLISHER_API_SECRET'); // Posting an simple recipient (minimal information) to Emailbidding API and dumping the result var_dump($recipientSubscribe->post( array(RecipientFactory::createSimpleRecipient('email@domain.com', 'FR')), YOUR_PUBLISHER_ID, 'my_best_database' )); // Posting an anonymous recipient to Emailbidding (NOTE: the email address WILL NOT be sent to Emailbidding) // The email address 'email@domain.com' will be transformed in '7328fddefd53de471baeb6e2b764f78a' var_dump($recipientSubscribe->post( array(RecipientFactory::createSimpleAnonymousRecipient('email@domain.com', 'FR')), YOUR_PUBLISHER_ID, 'my_best_database' ));
服务器到服务器提交
Emailbidding SDK允许您作为广告商将您的转换提交到Emailbidding平台。为了使用此API,您需要获取您的广告商EB API密钥和密钥。
Emailbidding S2S API接受以下JSON作为负载的HTTP POST请求
{ "conversion":{ "subid":"123456", "description":"Test conversion", "details":{ "conversion_date":"1970-01-01", "revenue":1.23, "total_conversions":1, "ip_address":"127.0.0.1", "conversion_type":"click", "link_position":1 } } }
以下是一个PHP代码片段,展示了如何使用Emailbidding转换API发送转换数据。
<?php (...) // Set your credentials $apiKey = 'YOUR_API_KEY'; $apiSecret = 'YOUR_API_SECRET'; $advertiserId = 'YOUR_ADVERTISER_ID'; // Set your conversion details $conversionDetails = new Details(1.23, new \DateTime(), 1); $conversion = new Conversion('123456', 'Test conversion', $conversionDetails); // Submit your conversion $conversionSubmit = new ConversionSubmit($advertiserId, $apiKey, $apiSecret); $conversionSubmit->post($conversion);
对于更多示例,您可以从github克隆以下项目:https://github.com/wondeotec/sample-emailbidding-sdk