bricre/royalmail-tracking-v2-sdk

Royal Mail Tracking (适用于服务器端应用) v2 REST API SDK,由swagger规范生成

0.1.2 2021-05-21 13:53 UTC

This package is auto-updated.

Last update: 2024-09-21 21:42:09 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\ResponseHandler\JsonPsrResponseHandler;
use OpenAPI\Runtime\ResponseHandlerStack;
use RoyalMail\SDK\V2Tracking\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 ResponseHandlerStack([
        JsonPsrResponseHandler::setResponseTypes(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以获取更多调试示例