Pustaka ini dapat digunakan untuk menghubungkan dan melakukan operasi pada HMRC API https://developer.service.hmrc.gov.uk/api-documentation.
Untuk API global seperti Hello World, Anda dapat menggunakan kelas HelloWorldRequest untuk menangani panggilan API.
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
Untuk panggilan API yang dibatasi aplikasi seperti Hello Application. Pertama-tama atur token server menggunakan kelas ServerToken dan kemudian Anda dapat menggunakan kelas HelloApplicationRequest untuk memanggil 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 ();
Untuk panggilan API yang dibatasi pengguna, silakan lihat bagian berikutnya.
Cara termudah untuk mempelajari hal ini adalah dengan menjalankan server lokal menggunakan perintah php -S localhost:8080
di root perpustakaan ini. Dan kemudian navigasikan ke http://localhost:8080/examples/index.php di browser Anda. Jangan lupa untuk mengatur kredensial di dalam file example/config.php.
<?php
$ clientId = ' clientid ' ;
$ clientSecret = ' clientsecret ' ;
$ serverToken = ' servertoken ' ;
Anda bisa mendapatkan token akses dengan membuat Penyedia HMRC Oauth2 dan mengarahkan ulang ke URL otorisasi (lihat example/oauth2/create-access-token.php misalnya).
<?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 );
Setelah pengguna memberikan otorisasi pada halaman otorisasi HMRC, ia akan dialihkan kembali ke $callbackUri
, yang pada contoh di atas adalah file callback.php.
Konten 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 ;
Anda perlu menggunakan kelas HMRCOauth2AccessToken
untuk mendapatkan dan mengatur token akses. Kelas yang melakukan request akan mendapatkan Access Token dari kelas ini.
Setelah mendapatkan token akses dan menyimpannya di dalam HMRCOauth2AccessToken
, kita dapat mulai memanggil API yang dibatasi pengguna. Misalnya, berikut adalah permintaan untuk menyapa titik akhir pengguna.
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
Dalam mode default, perpustakaan ini akan berbicara dengan lingkungan sandbox
HMRC. Jika Anda ingin menggunakan lingkungan hidup, Anda dapat memanggilnya melalui Environment
tunggal.
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
Kontributor dipersilakan untuk membantu mengembangkan perpustakaan ini, semua metode penting harus memiliki pengujian unit.
Untuk menjalankan tes, cukup panggil perintah composer test
di terminal.