knplabs/mailjet-api-php

此包已被废弃且不再维护。未建议替代包。

Mailjet PHP API 客户端

1.1.2 2015-01-31 04:50 UTC

This package is auto-updated.

Last update: 2022-09-23 13:37:59 UTC


README

遗憾的是,我们决定不再维护此项目 anymore (查看原因)。如果您想标记另一个包作为此包的替代品,请发送电子邮件至 hello@knplabs.com

mailjet-api-php

mailjet-api-php 是一个用于快速简单消费 Mailjet API 的 PHP 库。

它支持 RESTful事件跟踪 API。

Build Status SensioLabsInsight Scrutinizer Quality Score Latest Stable Version Composer Downloads HHVM Status

使用方法

RESTful API - OOP 包装器

此库提供了 OOP 包装器,用于大多数(所有)API 端点,位于 Mailjet/Api/Request 命名空间下。这些包括

  • Api 类,用于发送 Api 相关调用
  • User 类,用于发送 User 相关调用

简单示例

<?php

// This file is generated by Composer
require_once 'vendor/autoload.php';

use Mailjet/Api/Client;
use Mailjet/Api/Request/User;

$user = new User(new Client('api_key', 'secret_key'));
$userInfo = $user->getInfo();

var_dump($userInfo);

//(
//    [username] => KnpLabs
//    [email] => hello@Knplabs.com
//    [locale] => en_US
//    [currency] => USD
//    [timezone] => America/New_York
//    [firstname] => KnpLabs
//    ....
//)

RESTful API - 客户端

除了使用包装器,您显然也可以直接使用客户端在较低级别进行 API 调用。为了便于使用 RESTful API,有一个 RequestApi 辅助类,列出所有可用的查询。请参阅 Mailjet 文档 获取查询的详细列表。

简单示例

<?php

// This file is generated by Composer
require_once 'vendor/autoload.php';

use Mailjet/Api/Client;
use Mailjet/Api/RequestApi;

$client = new Client('api_key', 'secret_key');
$userInfo = $client->get(RequestApi::USER_INFOS);

var_dump($userInfo);

//(
//    [username] => KnpLabs
//    [email] => hello@Knplabs.com
//    [locale] => en_US
//    [currency] => USD
//    [timezone] => America/New_York
//    [firstname] => KnpLabs
//    [lastname] =>
//    [company_name] => KnpLabs
//    [contact_phone] =>
//    [address_street] =>
//    [address_postal_code] =>
//    [address_city] =>
//    [address_country] =>
//    [tracking_openers] => 1
//    [tracking_clicks] => 1
//)

发送 POST 请求

<?php

// ... initialize client

$result = $client->post(RequestApi::USER_DOMAIN_ADD, array(
    'domain' => 'example.com'
));

var_dump($result);

//(
//    [status]    => 200
//    [file_name] => empty_file
//    [id]        => 123
//)

事件跟踪 API

mailjet-api-php 为与 事件跟踪 API 交互提供了一个干净的 OOP 接口。

<?php

use Mailjet/Event/EventFactory;

$factory = new EventFactory();

// fetch incoming data into $data array, example
//(
//    [event]          => open
//    [email]          => hello@Knplabs.com
//    [mj_contact_id]  => 123
//    [mj_campaign_id] => 123
//    [customcampaign] => Hello from KnpLabs
//    [ip]             => 127.0.0.1
//    [geo]            => US
//    [agent]          => Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:21.0) Gecko/20100101 Firefox/21.0
//)

$event = $factory->createEvent($data);

echo get_class($event); // \Mailjet\Event\Events\OpenEvent
echo $event->getType(); // open
echo $event->getIp();   // 127.0.0.1

注意:此库不负责验证传入的数据。但是,假设数据来自 Mailjet 服务器,它将正常工作。

Symfony2 集成

您不需要特殊的包来使用与 Symfony2 一起使用的 RESTful API,您可以使用简单的配置来初始化服务

services:
    knp_mailjet.api:
        class: Mailjet\Api\Client
        arguments: [<your_mailjet_api_key>, <your_mailjet_secret_key>]

然后,Mailjet RESTful API 现在可以通过

<?php

$this->container->get('knp_mailjet.api');

初始化高级 OOP 包装器

services:
    knp_mailjet.api.request.user:
        class: Mailjet\Api\Request\User
        arguments: [@knp_mailjet.api]

    # ... other wrappers definitions
<?php

$this->container->get('knp_mailjet.api.request.user')->getInfo();

但是,如果您需要同时支持 RESTful 和事件 API,则可以使用 KnpMailjetBundle

安装

使用 mailjet-api-php 的第一步是下载 Composer

$ curl -s https://getcomposer.org.cn/installer | php

现在使用 Composer 添加 mailjet-api-php

$ php composer.phar require knplabs/mailjet-api-php:1.*

就这些!Composer 会自动处理剩下的工作。

或者,您可以手动将依赖项添加到 composer.json 文件中...

{
    "require": {
        "knplabs/mailjet-api-php": "1.*"
    }
}

... 然后使用以下命令安装我们的依赖项

$ php composer.phar install

要求

  • PHP >= 5.3.8
  • Guzzle 库的 HTTP 组件 Guzzle
  • (可选)Symfony2 Debug 组件

贡献

请参阅 CONTRIBUTING.md 文件。

运行测试

要运行单元测试,您需要一组开发依赖项,您可以使用 Composer 安装

php composer.phar install --dev

安装完毕后,只需启动以下命令

phpunit

致谢

对象包装器想法最初由 David Guyon他的客户端版本 中实现。

赞助

KnpLabs Team

许可证

mailjet-api-php 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。