michelmelo/emailbidding-sdk

一组允许与Emailbidding API交互的脚本

1.0 2022-04-06 14:39 UTC

This package is auto-updated.

Last update: 2024-09-06 20:14:44 UTC


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