bricre/royalmail-shipping-v3-sdk

由swagger规范生成的Royal Mail Shipping V3 REST API SDK

dev-master 2022-12-30 11:22 UTC

This package is auto-updated.

Last update: 2024-08-29 06:02:11 UTC


README

从RoyalMail的Swagger文件生成的PHP SDK

Latest Stable Version Total Downloads License codecov

用法

首先,您需要遵循RoyalMail的说明注册您的应用程序并获取已批准的凭证

然后配置您的客户端(您只需要在整个过程中做一次),您可以在应用程序初始化阶段进行此操作

<?php
use GuzzleHttp\Client as Guzzle;
use OpenAPI\Runtime\Client;
use OpenAPI\Runtime\SimplePsrResponseHandlerStack;
use RoyalMail\SDK\V3Shipping\ResponseTypes;

Client::configure(
    new Guzzle([
        'base_uri' => 'https://api.royalmail.net',
        'headers'  => [
            'Accept'              => 'application/json',
            'X-Accept-RMG-Terms'  => 'yes',
            'X-IBM-Client-Id'     => getenv('X-IBM-Client-Id'),
            'X-IBM-Client-Secret' => getenv('X-IBM-Client-Secret'),
        ]
    ]),
    new SimplePsrResponseHandlerStack(new ResponseTypes()),
);

然后在您的实际业务逻辑中,运行RoyalMail公开的三个API方法之一

<?php
use RoyalMail\SDK\V2Tracking\Api\API;
use RoyalMail\SDK\V2Tracking\Model\EventsSuccessResponse;
use RoyalMail\SDK\V2Tracking\Model\SignatureSuccessResponse;
use RoyalMail\SDK\V2Tracking\Model\SummarySuccessResponse;

$API = new API();
/** @var SummarySuccessResponse $summery */
$summary = $API->summary(['mailPieceId'=>'AA999999999GB']);

/** @var EventsSuccessResponse $events */
$events = $API->events('AA999999999GB');

/** @var SignatureSuccessResponse $signature */
$signature = $API->signature('AA999999999GB');

查看APITest以获取更多调试示例