leowebx/fuelsdk-php

用于集成Exact Target API的SDK

dev-Dot9 2014-11-03 15:28 UTC

This package is not auto-updated.

Last update: 2024-09-24 04:07:07 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值。如果您正在为互动营销枢纽构建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();

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

创建 ET_List 对象:$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 的错误日志中。此选项仅在开发过程中用于故障排除,不应在生产环境中使用。

$myclient = new ET_Client(true, true);

参数 - 允许传递用于与 SSO 配合使用 JWT 的身份验证信息,或者如果您更愿意不使用配置文件选项,则传递 ClientID/ClientSecret。

示例传递 JWT

$myclient = new ET_Client(true, array("jwt" => "JWT 值在这里"));

示例传递 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 中通过 API 公开的 ExactTarget 对象的所有可用功能。

示例列表

版权和许可

版权所有(C)2013 ExactTarget

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

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