softwarepunt/psinfoodservice-api-client

食品服务Web API (PS-API)中PS的非官方PHP API客户端

v1.1.0 2024-02-06 13:18 UTC

This package is auto-updated.

Last update: 2024-09-06 14:46:21 UTC


README

非官方食品服务Web API (PS-API)中PS的PHP API客户端

PHPUnit Version

此库帮助您与PS-API版本6交互。

注意 - 功能有限: 此库当前仅支持检索产品信息。欢迎提交其他API功能的PR。 :)

安装

要求

  • PHP 8.2+
    • 带有扩展:curl, simplexml
  • Composer

设置

使用Composer将包添加为项目的依赖项

composer require softwarepunt/psinfoodservice-api-client

使用方法

入门

开始时,包含客户端并设置您的凭证和选项。

🔒 如果您还没有凭证,请先联系PS in foodservice请求。

<?php

use SoftwarePunt\PSAPI\Client;

require_once "vendor/autoload.php";

$client = new Client();
$client->setUsername("webapi@yourorg.ps");
$client->setPassword("************");
$client->setTimeout(30);

所有实现的API路由都将匹配URL结构,例如

// Example of structure - the code route for "api/Product/Search" call:
$client->product()->search(); 

搜索产品

您可以通过提供参数来搜索产品。您至少必须选择一个“产品集”;例如:所有公共产品。

您通常使用此功能来查找特定产品,例如

use SoftwarePunt\PSAPI\Models\Params\ProductSearchParams;

$searchParams = new ProductSearchParams();
$searchParams->ShowAllProductSet = true;
$searchParams->ShowSubscribedProductSet = true; // must be set to explicitly include private data
$searchParams->FilterOnEan = "1213456789125";

$products = $client->product()->search($searchParams);
$product = $products->product[0];
echo $product->summary->name; // PS Citroensnoepje 20g

☝ 此库返回的对象基于API的实际XML响应结构。它们完全类型提示,并在可用的情况下具有docblocks。

开发

生成实体类型

此项目包含一个工具,可以从PS提供的XSD文件生成或更新实体。所有位于 src/Models/Entities 的类都是使用此工具生成的。您可以如下使用它

要使用它,请从项目目录手动运行CLI脚本

php cli/xsdgen.php path/to/PS_XSD.xsd

您可以通过文档页面下载最新的XSD: https://webapi.psinfoodservice.com/V6/prod/Documentation/Xsd