muglug/fuel-sdk-php

PHP版本的ExactTarget Fuel SDK

0.10 2020-08-04 18:49 UTC

This package is not auto-updated.

Last update: 2024-09-12 12:36:44 UTC


README

PHP版本的ExactTarget Fuel SDK

概述

PHP版本的Fuel SDK提供了访问ExactTarget的Fuel API家族服务的简单途径,包括一组REST API和一个SOAP API。这些API通过常用的集合类型(如数组/散列表)提供对ExactTarget功能的访问。

版本 .9 的新功能

  • 简化文件夹支持:现在所有在UI中支持文件夹的对象现在都有一个名为folderId的标准属性。
  • 交互支持:现在支持导入和Email_SendDefinition对象。
  • 配置文件属性支持:通过ProfileAttribute对象添加了管理配置文件属性的能力。
  • 支持单个请求添加/更新:可以发出一个请求,如果不存在则创建对象,如果已存在则更新对象。这对于使用Put方法的Subscriber、DataExtension_Row和List对象都适用。
  • 跟踪事件批量支持:默认情况下,所有跟踪事件类型将只拉取自上次请求以来使用相同过滤器的新数据。如果您想覆盖此功能以拉取所有数据,只需将GetSinceLastBatch属性设置为false。
  • 为Hub应用程序自动组织资产:通过提供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值存储在数据库或其他配置存储机制中。

如果您尚未注册应用程序或需要查找应用程序密钥或应用程序签名值,请访问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的错误日志中。此选项仅在开发过程中用于故障排除,不应在生产环境中使用。

$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文件中获取许可副本。

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