troycobb/fuel-sdk-php

ExactTarget Fuel SDK for PHP - 已编辑

v0.9.1 2017-02-22 20:23 UTC

This package is not auto-updated.

Last update: 2024-09-26 19:06:42 UTC


README

ExactTarget Fuel SDK for PHP

概述

PHP Fuel SDK 提供了对 ExactTarget Fuel API Family 服务的便捷访问,包括一系列 REST API 和 SOAP API。这些 API 通过常见的集合类型(如数组/哈希)提供对 ExactTarget 功能的访问。

版本 .9 的新功能

  • 简化文件夹支持:所有在 UI 中支持文件夹的对象现在都有一个名为 folderId 的标准属性。
  • 交互支持:现在支持 Import 和 Email_SendDefinition 对象。
  • 配置文件属性支持:通过 ProfileAttribute 对象添加了管理配置文件属性的能力。
  • 支持单个请求的添加/更新:可以通过单个请求创建对象(如果尚未存在)或更新对象(如果已存在)。这对于使用 Put 方法的 Subscriber、DataExtension_Row 和 List 对象都适用。
  • 跟踪事件批量支持:默认情况下,所有跟踪事件类型将仅拉取自上次使用相同过滤器请求以来新的数据。如果您想覆盖此功能以拉取所有数据,只需将 GetSinceLastBatch 属性设置为 false。
  • Hub Apps 的自动资产组织:通过提供 JWT 进行身份验证的应用程序将自动将所有创建的资产放入一个基于 HubExchange 应用程序名称的文件夹中。
  • **认证的更大灵活性**:以前,用于认证的应用程序密钥必须硬编码在 php 配置文件中。虽然此选项仍然可用,但添加了一个选项,在实例化 ET_Client 类时传递这些值,以便可以在需要时使用。
  • 更简单的故障排除:SDK 中已添加记录 API 请求完整负载的能力,以便更容易地解决后台发生的问题。

要求

PHP 版本 5.2.3

扩展

  • mcrypt
  • openssl
  • SOAP

入门

下载项目后,将 config.php.template 文件重命名为 config.php。

编辑 config.php 以输入在注册应用程序时提供的 ClientID 和 ClientSecret 值。如果您正在为 Interactive Marketing Hub 构建一个 HubExchange 应用程序,则还必须提供应用程序签名(appsignature)。除非 ExactTarget 指示,否则不要更改 defaultwsdl 配置项的值。

有关在实例化 ET_Client 对象时指定这些值的详细信息,请参阅下面的 ET_Client 部分,如果您更喜欢将 ClientID 和 ClientSecret 值存储在数据库或其他配置存储机制中。

如果您尚未注册应用程序或需要查找应用程序密钥或应用程序签名值,请访问 App Center,网址为 Code@: ExactTarget 的开发者社区

示例请求

通过 Fuel SDK 公开的所有 ExactTarget 对象都以 "ET_" 前缀。首先从 ET_List 对象开始工作。

添加 require 语句以引用 Fuel SDK 的功能

require('ET_Client.php');

接下来,创建 ET_Client 类的实例

$myclient = new ET_Client();

创建我们想要处理的对象类型的实例

$getList = new ET_List();

使用 authStub 属性将 ET_Client 关联到对象

$getList->authStub = $myclient;

使用 ET_List 的方法之一

$getResponse = $getList->get();

打印出结果以供查看

print_r($getResponse);

示例输出

ET_Get Object
(
    [status] => 1
    [code] => 200
    [message] =>
    [results] => Array
        (
            [0] => stdClass Object
                (
                    [Client] => stdClass Object
                        (
                            [ID] => 1000001
                            [PartnerClientKey] => 
                        )

                    [PartnerKey] =>
                    [CreatedDate] => 2009-06-12T14:42:06.1
                    [ModifiedDate] => 2011-08-17T14:50:30.697
                    [ID] => 1718921
                    [ObjectID] => f41c7d1b-8957-de11-92ee-001cc494ae9e
                    [CustomerKey] => All Subscribers - 578623
                    [ListName] => All Subscribers
                    [Category] => 578623
                    [Type] => Private
                    [Description] => Contains all subscribers
                    [ListClassification] => ExactTargetList
                )

        )

    [request_id] => 5d56a37e-4b13-4f0a-aa13-2e108e60a990
    [moreResults] => 
)

ET_Client 类

ET_Client类负责处理访问ExactTarget API所需的大部分步骤,包括检索适当的访问令牌、处理令牌状态以管理刷新以及确定API请求的适当端点。为了利用此类提供的优势,在整个会话中使用此类的一个实例。不要为每个请求实例化一个新的ET_Client对象。

ET_Client类接受多个参数

刷新WSDL - 如果设置为true,则会在找到更新时自动下载WSDL的本地副本。

$myclient = new ET_Client(true);

调试 - 如果设置为true,Fuel SDK在后台执行的所有API请求都将记录到PHP的错误日志中。此选项仅在开发过程中进行故障排除时才应设置为true,绝不应在生产环境中使用。

$myclient = new ET_Client(true, true);

参数 - 允许传递用于与SSO一起使用的JWT的认证信息,或者如果您愿意不使用配置文件选项,则可以传递ClientID/ClientSecret。

示例传递JWT

$myclient = new ET_Client(true, array("jwt"=>"JWT Values goes here"));

示例传递ClientID/ClientSecret

$myclient = new ET_Client(true, array("clientid" => "3bjbc3mg4nbk64z5kzczf89n", "clientsecret"=>"ssnGAPvZg6kmm775KPj2Q4Cs"));

响应

Fuel SDK对象上的所有方法都返回一个遵循相同结构的通用对象,无论调用类型如何。此对象包含一组常用属性,用于显示有关请求的详细信息。

  • status:表示调用是否成功的布尔值
  • code:HTTP错误代码(SOAP请求始终为200)
  • message:包含更多详细信息的文本值,在发生错误时使用
  • results:包含调用方法特有的详细信息的集合。

获取方法还返回一个附加值,以指示是否还有更多信息可用(可以使用getMoreResults方法检索该信息)

  • moreResults - 表示在获取请求中是否还有更多数据的布尔值。

示例

在objsamples目录中找到更多示例文件,以展示如何使用API公开的所有ExactTarget对象的功能。

示例列表

版权和许可证

版权(c)2013 ExactTarget

根据MIT许可证(“许可证”)许可;除非适用法律要求或经书面同意,否则不得使用本作品,除非遵守许可证。您可以在COPYING文件中获得许可证副本。

除非适用法律要求或经书面同意,否则在许可证下分发的软件按“原样”基础分发,不提供任何明示或暗示的保证或条件。有关许可证的具体语言,请参阅许可证。