pfortin / fuel-sdk-php
PHP Salesforce Marketing Cloud Fuel SDK
Requires
- php: >=5.6.24
- ext-curl: *
- ext-openssl: *
- ext-soap: *
- firebase/php-jwt: >=5.0.0
- robrichards/wse-php: 2.0.3
Requires (Dev)
- dompdf/dompdf: 0.6
- phpdocumentor/phpdocumentor: 2.8.0
- phpunit/phpunit: >=5.7.20
This package is not auto-updated.
Last update: 2024-09-18 03:29:35 UTC
README
PHP Salesforce Marketing Cloud Fuel SDK
PHP Salesforce Marketing Cloud Fuel SDK免费使用,但它们不是官方Salesforce Marketing Cloud产品,应被视为社区项目。此SDK未经官方测试或文档记录。有关任何PHP Salesforce Marketing Cloud Fuel SDK的帮助,请咨询Salesforce论坛或此存储库的问题部分。对于此SDK,Salesforce Marketing Cloud不支持。
概述
PHP Fuel SDK提供了对Salesforce Marketing Cloud的Fuel API Family服务的简单访问,包括一组REST和SOAP API。这些API通过常见的集合类型(如数组/哈希)提供对Salesforce Marketing Cloud(之前称为ExactTarget)功能的访问。
1.2.5版本中的新功能
- 添加了对OAuth2认证的支持 - 更多详情
- 要启用OAuth2认证,在config.php文件中设置'usOAuth2Authentication' => true,或将它作为Params参数传递给ET_Client构造函数。
- OAuth2配置示例
'appsignature' => 'none', 'clientid' => '', 'clientsecret' => '', 'defaultwsdl' => 'https://webservice.exacttarget.com/etframework.wsdl', 'xmlloc' => '/some/path/to/cache/ExactTargetWSDL.xml', 'baseUrl' => '', 'baseAuthUrl' => '', 'baseSoapUrl' => '', 'useOAuth2Authentication' => true, 'accountId' => , 'scope' => '', 'proxyhost' => 'localhost', 'proxyport' => '8080', 'proxyusername' => '', 'proxypassword' => ''
- 向ET_Client构造函数传递配置参数的示例
$myclient = new ET_Client(true, array("baseUrl" => "http://rest.endpoint.com", "baseAuthUrl" => "http://auth.endpoint.com", "baseSoapUrl" => "http://soap.endpoint.com", "baseUrl" => "http://rest.endpoint.com", "useOAuth2Authentication" => "true", "accountId" => "", "scope" => ""));
版本1.2.0
- 添加了对您租户端点的支持 - 更多详情
要求
PHP版本 >=5.6.24
扩展
- openssl
- SOAP
- curl
API文档
http://salesforce-marketingcloud.github.io/FuelSDK-PHP/index.html
安装
手动安装
下载项目后,将config.php.template文件重命名为config.php。最重要的是,您还需要手动下载所有依赖并相应地包含它们。这就是我们强烈建议您使用composer的原因。
Composer
将依赖项添加到您的项目的composer.json配置文件的require部分,即salesforce-mc/fuel-sdk-php,并更新您的应用程序。
以下是一个示例的composer.json文件
{ "require": { "salesforce-mc/fuel-sdk-php": "1.3.0" } }
入门
编辑config.php,以便输入在注册应用程序时提供的ClientID和ClientSecret值。如果您正在为互动营销中心构建HubExchange应用程序,则还必须提供应用程序签名(appsignature)。只有当ExactTarget指示您时,才更改defaultwsdl配置项的值。
有关在实例化ET_Client对象时指定这些值的详细信息,请参阅下方的ET_Client部分。如果您希望将ClientID和ClientSecret值存储在数据库或其他配置存储机制中。
如果您尚未注册应用程序或需要查找应用程序密钥或应用程序签名值,请访问Salesforce Marketing Cloud App Center。
您可以在配置文件和ET_Client构造函数的params参数中定义自己的REST、SOAP和认证基本URL。如果未定义REST & SOAP基本URL,则默认为https://www.exacttargetapis.com
和https://auth.exacttargetapis.com
。
示例请求
所有通过Fuel SDK公开的ExactTarget对象都以前缀"ET_"开始。首先,从ET_List对象开始工作。
获取config.php.template文件(使用composer在vendor/salesforce-mc/下),将其重命名为config.php,并更新clientId & clientSecret。
最重要的是,将其放入包含composer.json文件的项目根目录。
添加由composer自动生成的autoload.php文件,根据您的目录结构更改路径
require __DIR__ . '/../vendor/autoload.php';
添加use语句以引用FuelSdk命名空间
use FuelSdk\ET_Client;
use FuelSdk\ET_List;
接下来,创建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"));
示例传递REST、认证和SOAP的基本URL
$myclient = new ET_Client(true, array("baseUrl" => "http://rest.endpoint.com", "baseAuthUrl" => "http://auth.endpoint.com", "baseSoapUrl" => "http://soap.endpoint.com"));
响应
Fuel SDK对象的 所有方法都返回一个遵循相同结构的通用对象,无论调用类型如何。此对象包含一组用于显示请求详细信息的常用属性。
- status: 布尔值,指示调用是否成功
- code: HTTP错误代码(对于SOAP请求始终为200)
- message: 包含更多详细信息的文本值(在发生错误时)
- results: 包含调用方法特有的详细信息的集合。
Get方法还返回一个额外的值,以指示是否还有更多信息可用(可以使用getMoreResults方法检索该信息)
- moreResults - 布尔值,指示在Get请求中是否有更多数据可用。
示例
在objsamples目录中找到更多示例文件,说明如何使用API公开的ExactTarget对象的所有可用功能。
示例列表