このライブラリは、HMRC API https://developer.service.hmrc.gov.uk/api-documentation に接続して操作を行うために使用できます。
Hello World などのグローバル API の場合、HelloWorldRequest クラスを使用して API 呼び出しを処理できます。
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
Hello Application などのアプリケーション限定の API 呼び出しの場合。まず、ServerToken クラスを使用してサーバー トークンを設定し、次に HelloApplicationRequest クラスを使用して API を呼び出すことができます。
<?php
// ServerToken is singleton so please use getInstance() method to get an instance and then use set method on it
HMRC ServerToken ServerToken:: getInstance ()-> set ( $ _GET [ ' server_token ' ]);
$ request = new HMRC Hello HelloApplicationRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
ユーザー制限された API 呼び出しについては、次のセクションを参照してください。
これについて知る最も簡単な方法は、このライブラリのルートでphp -S localhost:8080
コマンドを使用してローカル サーバーを実行することです。次に、ブラウザで http://localhost:8080/examples/index.php に移動します。 example/config.php ファイル内で認証情報を設定することを忘れないでください。
<?php
$ clientId = ' clientid ' ;
$ clientSecret = ' clientsecret ' ;
$ serverToken = ' servertoken ' ;
HMRC Oauth2 プロバイダーを作成し、認証 URL にリダイレクトすることでアクセス トークンを取得できます (たとえば、example/oauth2/create-access-token.php を参照)。
<?php
$ callbackUri = " http://localhost:8080/examples/oauth2/callback.php " ;
$ _SESSION [ ' client_id ' ] = $ _GET [ ' client_id ' ];
$ _SESSION [ ' client_secret ' ] = $ _GET [ ' client_secret ' ];
$ _SESSION [ ' callback_uri ' ] = $ callbackUri ;
$ _SESSION [ ' caller ' ] = " /examples/index.php " ;
$ provider = new HMRC Oauth2 Provider (
$ _GET [ ' client_id ' ],
$ _GET [ ' client_secret ' ],
$ callbackUri
);
$ scope = [ HMRC Scope Scope:: VAT_READ , HMRC Scope Scope:: HELLO , HMRC Scope Scope:: VAT_WRITE ];
$ provider -> redirectToAuthorizationURL ( $ scope );
ユーザーが HMRC 認証ページで認証を許可すると、 $callbackUri
にリダイレクトされます。上記の例では、 callback.php ファイルです。
callback.phpの内容
<?php
$ provider = new HMRC Oauth2 Provider (
$ _SESSION [ ' client_id ' ],
$ _SESSION [ ' client_secret ' ],
$ _SESSION [ ' callback_uri ' ]
);
// Try to get an access token using the authorization code grant.
$ accessToken = $ provider -> getAccessToken ( ' authorization_code ' , [
' code ' => $ _GET [ ' code ' ]
]);
HMRC Oauth2 AccessToken:: set ( $ accessToken );
header ( " Location: /examples/index.php " );
exit ;
アクセストークンの取得と設定にはHMRCOauth2AccessToken
クラスを使用する必要があります。リクエストを実行するクラスは、このクラスからアクセス トークンを取得します。
アクセス トークンを取得してHMRCOauth2AccessToken
内に保存したら、ユーザー制限 API の呼び出しを開始できます。たとえば、これは hello ユーザー エンドポイントへのリクエストです。
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
デフォルトモードでは、このライブラリは HMRC のsandbox
環境と通信します。ライブ環境を使用したい場合は、 Environment
シングルトン経由で呼び出すことができます。
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
このライブラリの開発を手伝ってくれる寄稿者は大歓迎です。すべての重要なメソッドには単体テストが必要です。
テストを実行するには、ターミナルでcomposer test
コマンドを呼び出すだけです。