sypher/keez

简单的Keez.ro集成

v0.3.0 2024-09-25 11:18 UTC

This package is auto-updated.

Last update: 2024-09-25 11:34:28 UTC


README

MIT Licensed

Keez PHP库提供了从PHP语言编写的应用程序中方便访问Keez.ro API的功能。它包括一组预定义的类,用于API资源,可以从API响应中动态初始化,使得它与Keez API的广泛版本兼容。

需求

PHP 7.3及更高版本。

Composer

您可以通过Composer安装这些绑定。运行以下命令

composer require sypher/keez

要使用这些绑定,请使用Composer的自动加载

require_once('vendor/autoload.php');

依赖

这些绑定需要以下扩展才能正常工作

如果您使用Composer,这些依赖项应自动处理。

入门

简单用法如下

use sypher\keez\KeezSDK;

$keez = new KeezSDK([
   "client_id" => "a1b2c3d4e5f6g7h8i9j10k11l12m13n1",
   "app_id"    => "vendor-abcdefghijklmnopqrtuvxz",
   "secret"    => "abcdefghijklmnopqrstuvxzw"
 ], $devmode);

对于测试环境使用devmode true,对于生产环境使用false。

有几个实体用于与Keez一起工作。这些实体包含文档中包含的所有属性。

在出现错误的情况下获取响应,请使用getLastError函数。该函数返回一个包含响应的字符串,通常是JSON格式。

$error = $keez->getLastError();

函数索引

文章

发票

函数

createArticle

  • createArticle - 接收类型为Article的实体作为输入,并在成功时返回同一类型的Article实体,或失败时返回false。返回的实体将包含对象的所有完整属性,包括输入文章中未设置的属性,以及externalId
use sypher\keez\entity\Article;

$article = new Article();
$article->name = "Sample Product";
$article->code = "SKY_SAMPLE_PROD";
$article->currencyCode = "RON";
$article->measureUnitId = 1;
$article->categoryExternalId = "MISCSRV";
$article->isActive = true;

$this->keez->createArticle($article);

getArticle

  • getArticle - 接收Article的外部ID,并在成功时返回类型为Article的实体,或失败时返回false。
$article = $keez->getArticle("articleId");

updateArticle

  • updateArticle - 接收类型为Article的实体作为输入,包含完整或部分属性,并在成功时返回类型为Article的实体,包含对象的完整属性,或失败时返回false。如果发送部分属性,则只更新这些属性。在所有情况下,外部ID必须包含在输入对象中。

部分更新

$article = new stdClass();
$article->externalId = "abcdefg";
$article->name = "Sample Product Xtra Large";
$article = $keez->updateArticle($article);

完整更新

$article = $keez->getArticle("articleId");
$article->name = "Sample Product Xtra Large";
$article = $keez->updateArticle($article);

getArticles

  • getArticles($filter, $order, $count, $offset) - 执行具有特定筛选器的文章搜索,按给定的order排序。返回一个包含Article对象的数组,或失败时返回false。所有参数都是可选的。有关如何传递筛选器的概述,请参阅使用筛选器
$keezProducts = $keez->getArticles();

createInvoice

  • createInvoice - 接收类型为Invoice的实体作为输入,并在成功时返回同一类型的Invoice实体,或失败时返回false。返回的实体将包含对象的所有完整属性,包括输入文章中未设置的属性,以及externalId
$savedInvoice = $this->keez->createInvoice($invoice);

updateInvoice

  • updateInvoice($invoice) - 接收类型为 Invoice 的实体作为输入,并在成功时返回相同类型的 Invoice 实体,或失败时返回 false。返回的实体将包含对象的所有完整属性,包括在输入文章中未设置的属性。
$updatedInvoice = $this->keez->updateInvoice($invoice);

getInvoice

  • getInvoice($invoiceId) - 接收 Invoice 的外部ID,并返回类型为 Invoice 的实体,或失败时返回 false。
$invoice = $keez->getInvoice("3f066d8a330a4313ad02bdfd537d2c79");

getInvoices

  • getInvoices($filter, $order, $count, $offset) - 根据指定的过滤器,以给定的顺序执行发票搜索。返回一个 Invoice 对象数组,或失败时返回 false。所有参数都是可选的。有关如何传递过滤器的概述,请参阅 使用过滤器

deleteInvoice

  • deleteInvoice($invoiceId) - 接收 Invoice 的外部ID,并在成功时返回 true,或失败时返回 false。
$keez->deleteInvoice("3f066d8a330a4313ad02bdfd537d2c79");

validateInvoice

  • validateInvoice($invoiceId) - 接收 Invoice 的外部ID,并在成功时返回 true,或失败时返回 false。
$keez->validateInvoice("3f066d8a330a4313ad02bdfd537d2c79");

eFacturaInvoice

  • eFacturaInvoice($invoiceId) - 接收 Invoice 的外部ID,并在成功时返回 true,或失败时返回 false。
$keez->eFacturaInvoice("3f066d8a330a4313ad02bdfd537d2c79");

使用过滤器

filter 可以是一个包含条件的数组,或是一个由 Keez API 支持的精确语法的字符串。

如果以数组的形式发送过滤器,数组值可以是包含两个或三个项目的数组。两个项目假设操作是等于。

  • ['searchForVariable', 'operation', 'searchForValue']
  • ['searchForVariable', 'searchForValue']

支持的操作包括所有比较操作如 =, !=, <=, >=, <, > 以及特殊操作如 %%(相当于 SQL LIKE)和 %(字符串以...开头)。

示例

// searching for an Invoice with a specific serie and number, using array
$filter = [["series", "=", "SERIE"], ["number", 106]];
// searching for an Invoice with a specific serie and number, using string
$filter = "series[eq]:SERIE AND number[eq]:106";
// both versions have the same effect

$invoice = $keez->getInvoices($filter);

// searching for a specific Article by code
$filter = [["code", 'MY_SKU']];
$articles = $keez->getArticles($filter);

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件