omnisend/php-sdk

本包最新版(1.2)没有提供许可证信息。

简单易用的Omnisend API v3包装器

1.2 2020-07-24 05:32 UTC

This package is auto-updated.

Last update: 2024-08-29 04:48:52 UTC


README

PHP中的简单Omnisend API v3包装器。

Omnisend API v3文档可在此处找到:这里

需要PHP > 5.3,启用cURL或allow_url_fopen

安装

您可以通过Composer安装Omnisend PHP-SDK,也可以通过下载并手动包含它。

使用Composer安装

  1. 运行以下命令
composer require omnisend/php-sdk
composer install
  1. 将自动加载器添加到您的应用程序
require_once("vendor/autoload.php");

注意:检查并纠正(如有必要)"vendor/autoload.php"的路径。

手动安装

下载Omnisend.php文件并手动包含它

require_once('Omnisend.php'); 

注意:检查并纠正(如有必要)"Omnisend.php"的路径。

可用方法和选项

使用您的API密钥和选项(可选)创建实例

$options = array(
    'timeout' => 30,
    'verifySSL' => false
);
$omnisend = new Omnisend('API-KEY', $options);

可用选项

可用方法

endpoint - 端点URL(例如,'contacts','products/prod123')。有关可用端点的详细信息,请参阅文档

queryParams - 查询参数数组

fields - 字段数组

  • getSnippet() - 返回HTML代码片段
  • get(endpoint, queryParams) - 发起GET请求。
  • push(endpoint, fields, queryParams) - 发起POST请求。如果发生错误(资源在Omnisend中存在)- 发起PUT请求。如果不知道项目是否存在于Omnisend中,则可以使用此方法。 queryParams - 可选。
  • post(endpoint, fields, queryParams) - 发起POST请求。用于在Omnisend中创建新项目。如果项目已在Omnisend中存在,将返回错误。 queryParams - 可选。
  • put(endpoint, fields, queryParams) - 发起PUT请求。用于在Omnisend中替换项目。如果项目不存在于Omnisend中,将返回错误。 queryParams - 可选。
  • patch(endpoint, fields, queryParams) - 发起PATCH请求。用于在Omnisend中更新项目。如果项目不存在于Omnisend中,将返回错误。 queryParams - 可选。
  • delete(endpoint, queryParams) - 发起DELETE请求。用于在Omnisend中删除项目。如果项目不存在于Omnisend中,将返回错误。 queryParams - 可选。

响应

每个方法在发生错误时将返回false,在成功时将返回array(有关响应,请参阅文档)或true(对于空体(204)响应)。

因此,您可以轻松检查请求是否成功

$cart = $omnisend->delete('carts/cart-123');
if ($cart) {
    //request was successful
} else {
    //there was an error
}

如果请求失败,您可以使用lastError()获取错误描述

 var_dump($omnisend->lastError());

输出将是一个包含

  • 错误 - 错误描述
  • statusCode - HTTP响应状态码状态码
  • fields - 可选 - 必要的、错误的或格式错误的fields数组(与请求一起传递)

示例

array {
  ["error"]=> "2 error(s) found. Check 'fields' array for details."
  ["statusCode"]=> 400
  ["fields"]=>
  array {
    [0]=>
    array {
      [0]=> "cartSum: field required but not found in Json"
    }
    [1]=>
    array {
      [0]=> "currency: field required but not found in Json"
    }
  }
}

示例

  1. 使用API密钥和选项(可选)创建实例
$omnisend = new Omnisend('your-api-key');
  1. 发起请求,例如,在Omnisend中创建一个新联系人
$contacts = $omnisend->post(
  'contacts',
   array(
       "email" => "vanessa.kensington@example.com", 
       "firstName" => "Vanessa", 
       "lastName" => "Kensington", 
       "status" => "subscribed", 
       "statusDate" => "2018-12-11T10:29:43+00:00"
    )
);
  1. 检查请求是否成功
if ($contacts) {
    //request was successful

    //print response
    print_r($contacts); 
    //get contactID from response
    $contactID = $contacts['contactID'];
} else {
    //there was an error
    print_r($omnisend->lastError());
}

examples/examples.php中查看更多示例