sypher / keez
简单的Keez.ro集成
v0.3.0
2024-09-25 11:18 UTC
Requires
- php: >=7.3.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
This package is auto-updated.
Last update: 2024-09-25 11:34:28 UTC
README
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($Article)
- getArticle($articleId)
- updateArticle($Article)
- getArticles($filter, $order, $count, $offset)
发票
- createInvoice($Invoice)
- updateInvoice($Invoice)
- getInvoice($invoiceId)
- getInvoices($filter, $order, $count, $offset)
- deleteInvoice($invoiceId)
- validateInvoice($invoiceId)
- eFacturaInvoice($invoiceId)
函数
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)。有关更多信息,请参阅 许可证文件。