mailchimp-api-v3, Mailchimp API v3的API客户端

分享于 

8分钟阅读

GitHub

  繁體 雙語
API client for Mailchimp API v3
  • 源代码名称:mailchimp-api-v3
  • 源代码网址:http://www.github.com/pacely/mailchimp-api-v3
  • mailchimp-api-v3源代码文档
  • mailchimp-api-v3源代码下载
  • Git URL:
    git://www.github.com/pacely/mailchimp-api-v3.git
    Git Clone代码到本地:
    git clone http://www.github.com/pacely/mailchimp-api-v3
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/pacely/mailchimp-api-v3
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    Mailchimp API - PHP包装器 Build Status安装

    将以下内容添加到 composer.json

    {
     "require": {
     "pacely/mailchimp-apiv3": "dev-master" }
    }
    Laravel 用户

    为了帮助 Laravel 5用户轻松使用库,我们添加了一些类。

    服务提供程序

    你可以在你的配置文件中使用我们的服务提供程序

    // config/app.php'providers'=> [...MailchimpMailchimpServiceProvider::class]
    外观

    如果你喜欢 facade插件,请确保添加了它:

    // config/app.php'aliases'=> [...'MC'=>MailchimpMailchimpFacade::class]

    注意注意:不要使用 Mailchimp 别名来确保facade的外观,因为这可能与基类冲突。

    配置

    你只需要填写一个配置选项。 通过运行以下命令发布配置:

    
    php artisan vendor:publish
    
    
    
    

    现在,配置文件将位于 config/mailchimp.php 下面:

    <?phpreturn [/* |-------------------------------------------------------------------------- | Mailchimp API key |-------------------------------------------------------------------------- | | To obtain an API key, go to mailchimp.com under your profile | you will find Extras -> API keys. Paste the key below. |*/'apikey'=>''];
    用法

    有一种方法可以将它们全部规则化:

    request($resource, $arguments= [], $method='GET') // $arguments is used as POST data or GET parameters, depending on the method used.

    但它的聪明足以映射这些呼叫:

    get($resource, array$options= [])head($resource, array$options= [])put($resource, array$options= [])post($resource, array$options= [])patch($resource, array$options= [])delete($resource, array$options= [])

    分页

    因此,在查询字符串中使用和 count 对数据进行分页,因为它提供了对数据查看方式的GREATER 控制。 Offset默认为 0,因此如果使用 offset=1,则会错过数据集中的第一个元素。 计数默认值为 10.

    源:http://kb.mailchimp.com/api/article/api-3-overview

    过滤

    现在,大多数端点目前不支持过滤器,但是我们计划在一段时间内增加这些功能。 模式将告诉你可以筛选哪些集合,以及在查询字符串中包含哪些内容。

    源:http://kb.mailchimp.com/api/article/api-3-overview

    部分响应

    最后,在数据传输中,通过逗号分隔的字段列表来包括或者排除查询字符串中的某些响应。 参数 fieldsexclude_fields 相互排斥,如果字段中的字段无效,则会引发错误。

    源:http://kb.mailchimp.com/api/article/api-3-overview

    在代理后面

    如果你在代理后面,你可以直接在类上使用 setProxy

    setProxy(host : string, port : int, [ssl : bool = false], [username = null], [password = null]);

    参见示例

    示例

    集合对象

    所有查询都将返回 IlluminateSupportCollection 对象的实例,这实际上很容易处理。 但是,如果不想使用集合对象,则可以使用 $result->toArray() 将它的转换为 array。

    $mc=newMailchimp('<api-key>', '<guzzle-options[array]>');// Get 10 lists starting from offset 10 and include only a specific set of fields$result=$mc->request('lists', ['fields'=>'lists.id,lists.name,lists.stats.member_count','offset'=>10,'count'=>10]);// Will fire this query: // GET https://us1.api.mailchimp.com/3.0/lists?fields=lists.id,lists.name,lists.stats.member_count&count=10// Returns object(IlluminateSupportCollection)var_dump($result);// Returns the first itemvar_dump($result->first());// Returns 3 itemsvar_dump($result->take(3));// Returns a JSON stringvar_dump($result->toJson());// Returns an arrayvar_dump($result->toArray());

    你可以使用简单的foreach/for循环或者使用我们集合对象提供的内置 each(callable $callback) 循环遍历你的项目。

    $result->each(function ($item) {echo$item['name'].' ('.$item['stats']['member_count'].')'.PHP_EOL;});

    你还可以使用集合的对象来做更多的事情。

    创建列表

    // All these fields are required to create a new list.$result=$mc->post('lists', ['name'=>'New list','permission_reminder'=>'You signed up for updates on Greeks economy.','email_type_option'=>false,'contact'=> ['company'=>'Doe Ltd.','address1'=>'DoeStreet 1','address2'=>'','city'=>'Doesy','state'=>'Doedoe','zip'=>'1672-12','country'=>'US','phone'=>'55533344412' ],'campaign_defaults'=> ['from_name'=>'John Doe','from_email'=>'john@doe.com','subject'=>'My new campaign!','language'=>'US' ]]);

    子资源

    $result=$mc->get('lists/e04d611199', ['fields'=>'id,name,stats.member_count']);

    代理

    $mc->setProxy('https://127.0.0.1', 10, true, 'username', 'password');$result=$mc->get('lists/e04d611199', ['fields'=>'id,name,stats.member_count']);
    进一步的文档

    你应该阅读mailchimp文档( 我知道,它是相当粗糙的)。 soon了解 which resources Schema Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp Mailchimp。


    API  mail  Mailchimp  
    相关文章