m-michalis / boxnow-api
本文件描述了合作伙伴的API说明,以便创建和跟踪配送请求。## 修订历史 | 日期 | 作者 | 描述 | 版本 | |-|-|-|-| |2022-09-22|Šmolík, J.| 添加已接受存包包裹事件 |1.40| |2022-09-08|Šmolík J.| 添加用户选择合作伙伴的支持
Requires
- php: ^7.4 || ^8.0
- ext-curl: *
- ext-json: *
- ext-mbstring: *
- guzzlehttp/guzzle: ^7.3
- guzzlehttp/psr7: ^1.7 || ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.5
- phpunit/phpunit: ^8.0 || ^9.0
This package is not auto-updated.
Last update: 2024-09-23 16:31:50 UTC
README
本文件描述了合作伙伴的API说明,以便创建和跟踪配送请求。
修订历史
设置
通过我们的支持注册您的公司。
我们需要以下信息:
- 公司名称
- 用于SMS OTP身份验证的人员的电话号码列表 - 您希望访问合作伙伴CMS的人员
- 取货点地址列表 - 我们在哪里取您的订单进行配送
您将获得以下内容:
OAUTH_CLIENT_ID
- 与合作伙伴API进行身份验证的OAuth2客户端ID。请妥善保管。值可能因环境而异。OAUTH_CLIENT_SECRET
- 与合作伙伴API进行身份验证的OAuth2客户端密钥。请妥善保管。值可能因环境而异。API_URL
- 合作伙伴API的基础URL
环境
产品提供多个环境
- 沙盒 - 用于测试集成。功能有限。
- 生产 - 连接到真实最终用户。请谨慎使用。
环境设置摘要
API
身份验证
身份验证基于OAuth2标准,客户端凭据授权。令牌端点 /auth-sessions
,请参阅下面的示例。
客户端ID和密钥必须由BoxNow支持提前提供。
为了使用API,您必须将访问令牌附加到授权头作为Bearer令牌。
自定义JWT声明
您可以在命名空间键 https://boxnow.gr
下的自定义声明中找到更多信息。例如
{ \"iat\": 1641980553, \"exp\": 1641984153, \"https://boxnow.gr\": { \"permission\": { \"warehouseAsOrigin\": true, \"anyApmAsOrigin\": true, \"anyApmToSameApmDelivery\": true, \"anyApmToSameApmDeliveryWithoutConfirmation\": true, \"depotAsOrigin\": true } } }
列出可用目的地
如果您不想将订单运送到我们的任何APM,则可以跳过此步骤。
使用 /destinations
列出我们可以交付商品的可用APM位置。在稍后请求配送时,您将使用 id
来引用这些记录。
请求配送
创建配送请求以将订单运送给客户。为此操作使用 /delivery-requests
端点。
一旦成功请求配送
- (可选) 如果您选择接收此电子邮件,我们将发送电子邮件通知您已成功创建配送请求
- 您应该从
/parcels/{id}/label.pdf
获取每个包裹的PDF标签,打印它并将其粘贴到包裹上 - 我们将发送快递员来取贴有标签的包裹
- 我们通过电子邮件通知客户我们已经从您那里接受订单,并且我们将进行配送
修改配送请求
配送请求成功创建后,您可以稍后更改其某些部分。为此修改使用 /delivery-requests/{id}
端点。
检查配送情况
您可以通过 /parcels
端点列出与您的配送请求相关的包裹。
错误代码
400 Unprocessable entity
响应代码的描述
P400
- 无效请求数据。请确保您按照本说明发送请求。P401
- 无效请求源位置引用。请确保您引用的是来自Origins端点或有效地址的有效位置ID。P402
- 无效的请求目的地位置引用。请确保您引用的是“目的地”端点中的有效位置ID或有效地址。P403
- 您不允许使用AnyAPM-SameAPM配送。如果您认为这是错误,请联系支持。P404
- 无效的导入CSV。查看错误内容以获取更多信息。P405
- 无效的电话号码。请确保您发送的电话号码为完整的国际格式,例如+30 xx x xxx xxxx。P406
- 无效的隔间/包裹大小。请确保您发送的是所需的1、2或3种尺寸之一。当直接从AnyAPM发送时,需要尺寸。P407
- 无效的国家/地区代码。请确保您发送的国家/地区代码为ISO 3166-1 alpha-2格式,例如GR。P408
- 无效的待收取金额。请确保您发送的金额在有效范围(0, 5000>内。P409
- 无效的配送合作伙伴引用。请确保您引用的是“配送合作伙伴”端点中的有效配送合作伙伴ID。P410
- 订单号冲突。您正在尝试为已创建的订单ID创建配送请求。请选择另一个订单号。P411
- 您无权使用货到付款支付类型。使用另一种支付类型或联系我们的支持。P412
- 您不允许创建客户退货配送。如果您认为这是错误,请联系支持。P413
- 无效的退货位置引用。请确保您引用的是“来源”端点中的有效位置仓库ID或有效地址。P420
- 包裹尚未准备好取消。您只能取消新的、未交付的或未返回或丢失的包裹。请确保包裹正在运输中,然后重试。P430
- 包裹尚未准备好进行AnyAPM确认。包裹可能已经被确认或正在配送。如果您认为这是错误,请联系支持。
403禁止响应代码的描述
X403
- 账户已禁用。您的账户已被禁用,请联系支持。P414
- 未授权的包裹访问。您正在尝试访问不属于您的包裹/信息。请确保您正在请求您有权访问的包裹信息。
503服务不可用响应代码的描述
安装与使用
要求
PHP 7.4及以后版本。也应与PHP 8.0兼容。
Composer
要通过Composer安装绑定,请将以下内容添加到composer.json
{ "repositories": [ { "type": "vcs", "url": "https://github.com/m-michalis/boxnow-api.git" } ], "require": { "m-michalis/boxnow-api": "*@dev" } }
然后运行composer install
手动安装
下载文件并包含autoload.php
<?php require_once('/path/to/OpenAPIClient-php/vendor/autoload.php');
入门
请遵循安装过程,然后运行以下命令
<?php require_once(__DIR__ . '/vendor/autoload.php'); $apiInstance = new Boxnow\Api\AuthenticationApi( // If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`. // This is optional, `GuzzleHttp\Client` will be used as default. new GuzzleHttp\Client() ); $api_v1_auth_sessions_post_request = new \Boxnow\Model\ApiV1AuthSessionsPostRequest(); // \Boxnow\Model\ApiV1AuthSessionsPostRequest try { $result = $apiInstance->apiV1AuthSessionsPost($api_v1_auth_sessions_post_request); print_r($result); } catch (Exception $e) { echo 'Exception when calling AuthenticationApi->apiV1AuthSessionsPost: ', $e->getMessage(), PHP_EOL; }
API端点
所有URI均相对于https://boxnow.gr/media/yaml/TBA
模型
- ApiV1AuthSessionsPost200Response
- ApiV1AuthSessionsPost400Response
- ApiV1AuthSessionsPost403Response
- ApiV1AuthSessionsPostRequest
- ApiV1DeliveryPartnersGet200Response
- ApiV1DeliveryPartnersGet200ResponseDataInner
- ApiV1DeliveryRequestsCheckAddressDeliveryPost200Response
- ApiV1DeliveryRequestsCheckAddressDeliveryPost200ResponseAllOf
- ApiV1DeliveryRequestsCheckAddressDeliveryPost400Response
- ApiV1DeliveryRequestsCheckAddressDeliveryPostRequest
- ApiV1DeliveryRequestsCustomerReturnsPost200Response
- ApiV1DeliveryRequestsCustomerReturnsPost400Response
- ApiV1DeliveryRequestsCustomerReturnsPostRequest
- ApiV1DeliveryRequestsCustomerReturnsPostRequestDestination
- ApiV1DeliveryRequestsCustomerReturnsPostRequestParcelsInner
- ApiV1DeliveryRequestsFromCsvPost200ResponseInner
- ApiV1DeliveryRequestsFromCsvPost200ResponseInnerDestination
- ApiV1DeliveryRequestsFromCsvPost200ResponseInnerParcelsInner
- ApiV1DeliveryRequestsFromCsvPost400Response
- ApiV1DeliveryRequestsOrderNumberLabelGet200Response
- ApiV1DeliveryRequestsOrderNumberPut200Response
- ApiV1DeliveryRequestsOrderNumberPutRequest
- ApiV1DeliveryRequestsPost200Response
- ApiV1DeliveryRequestsPost200ResponseParcelsInner
- ApiV1DeliveryRequestsPost400Response
- ApiV1DeliveryRequestsPost403Response
- ApiV1DestinationsGet200Response
- ApiV1LabelsSearchPost400响应
- ApiV1LabelsSearchPost403响应
- ApiV1LabelsSearchPost请求
- ApiV1OriginsGet200响应
- ApiV1ParcelsGet200响应
- ApiV1ParcelsGet200响应数据内部
- ApiV1ParcelsGet200响应分页
- ApiV1ParcelsIdConfirmAnyapmDeliveryPost400响应
- ApiV1ParcelsIdConfirmAnyapmDeliveryPost503响应
- ApiV1ParcelsIdLabelGet200响应
- ApiV1SimpleDeliveryRequestsPost200响应
- ApiV1SimpleDeliveryRequestsPost200响应包裹内部
- ApiV1SimpleDeliveryRequestsPost400响应
- ApiV1SimpleDeliveryRequestsPost503响应
- ApiV1SimpleDeliveryRequestsPost请求
- ApiV1SimpleDeliveryRequestsPost请求目的地
- ApiV1SimpleDeliveryRequestsPost请求目的地全部
- ApiV1SimpleDeliveryRequestsPost请求目的地全部1
- ApiV1SimpleDeliveryRequestsPost请求目的地全部1之一
- ApiV1SimpleDeliveryRequestsPost请求目的地全部1之一1
- ApiV1SimpleDeliveryRequestsPost请求始发地
- ApiV1SimpleDeliveryRequestsPost请求包裹内部
- ApmDelivery
- 配送合作伙伴信息
- 配送位置地址
- 配送合作伙伴
- 配送合作伙伴配送
- 配送支付
- 配送请求
- 配送请求目的地
- 配送请求目的地全部
- 配送请求目的地全部1
- 配送请求目的地全部1任何之一
- 配送请求目的地全部1任何之一全部
- 配送请求项目内部
- 配送请求始发地
- 配送请求始发地全部
- 配送请求始发地全部1
- 配送请求始发地全部1任何之一
- 配送请求始发地全部1任何之一1
- 配送请求始发地全部1任何之一全部
- 配送请求覆盖发件人送货标签信息
- 配送请求退货位置
- 配送请求退货位置任何之一
- 配送请求V2
- 配送请求V2目的地
- 配送请求V2目的地全部
- 配送请求V2目的地全部任何之一
- 配送请求V2目的地全部任何之一全部
- 配送请求V2始发地
- 配送请求V2始发地全部
- 配送请求V2始发地全部任何之一
- 配送请求V2始发地全部任何之一全部
- 配送请求V2包裹内部
- 目的地
- 目的地全部
- EP400
- EP401
- EP402
- EP403
- EP404
- EP405
- EP406
- EP407
- EP408
- EP409
- EP410
- EP411
- EP412
- EP413
- EP414
- EP420
- EP430
- EP600
- EP610
- EX403
- 事件内部
- 标签类型
- 标签内部
- 位置
- 位置地址
- 位置全部
- 位置类型
- 金钱
- 包裹标签数据
- 包裹标签数据配送
- 包裹标签数据包裹
- 包裹标签数据支付
- 包裹标签数据收件人
- 包裹标签数据收件人全部
- 包裹标签数据发件人
- 包裹标签数据发件人全部
- 包裹状态
- 现金交货支付
- 支付模式
- 预付费支付
- 支付状态
- 取件配送合作伙伴信息
- 收件人电商或P2P
- 收件人退货
- 发件人电商
- 发件人P2P
- 发件人退货
授权
API中定义的认证方案
bearer
- 类型: Bearer认证(JWT)
测试
运行测试,请使用
composer install vendor/bin/phpunit
作者
关于此包
此PHP包由OpenAPI Generator项目自动生成
- API版本:
1.40
- 构建包:
org.openapitools.codegen.languages.PhpClientCodegen