course-hero/fuel-sdk-php

ExactTarget Fuel SDK for PHP

0.8.2 2015-01-29 00:16 UTC

This package is not auto-updated.

Last update: 2024-09-24 03:19:48 UTC


README

ExactTarget Fuel SDK for PHP Course Hero Fork

Build Status Coverage Status

概述

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

版本 .9 的新功能

  • 简化文件夹支持:所有在 UI 中支持文件夹的对象现在都有一个名为 folderId 的标准化属性。
  • 交互支持:现在支持导入和 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 指示,否则不要更改默认 wsdl 配置项的值。

有关在 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();

打印结果以供查看

打印出 $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公开的ExactTarget对象的所有可用功能。

示例列表

版权和许可

版权(c)2013 ExactTarget

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

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