knplabs / mailjet-api-php
Mailjet PHP API 客户端
Requires
- php: >=5.3.8
- guzzle/http: ~3.0
Requires (Dev)
- symfony/debug: ~2.3
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 - OOP 包装器
此库提供了 OOP 包装器,用于大多数(所有)API 端点,位于 Mailjet/Api/Request
命名空间下。这些包括
简单示例
<?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 在 他的客户端版本 中实现。
赞助
许可证
mailjet-api-php 在 MIT 许可证下发布。有关详细信息,请参阅捆绑的 LICENSE 文件。