ไลบรารีนี้สามารถใช้เพื่อเชื่อมต่อและดำเนินการบน HMRC API https://developer.service.hmrc.gov.uk/api-documentation
สำหรับ Global API เช่น Hello World คุณสามารถใช้คลาส HelloWorldRequest เพื่อจัดการกับการเรียก API
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
สำหรับการเรียก API ที่จำกัดแอปพลิเคชัน เช่น Hello Application ขั้นแรกให้ตั้งค่าโทเค็นเซิร์ฟเวอร์โดยใช้คลาส 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 บนเบราว์เซอร์ของคุณ อย่าลืมตั้งค่าข้อมูลรับรองภายในไฟล์ examples/config.php
<?php
$ clientId = ' clientid ' ;
$ clientSecret = ' clientsecret ' ;
$ serverToken = ' servertoken ' ;
คุณสามารถรับโทเค็นการเข้าถึงได้โดยสร้างผู้ให้บริการ HMRC Oauth2 และเปลี่ยนเส้นทางไปยัง URL ที่ให้สิทธิ์ (ดูตัวอย่าง/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 ที่จำกัดผู้ใช้ได้ ตัวอย่างเช่น นี่คือคำขอสวัสดีผู้ใช้ปลายทาง
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
ในโหมดเริ่มต้น ไลบรารีนี้จะพูดคุยกับสภาพแวดล้อม sandbox
ของ HMRC หากคุณต้องการใช้สภาพแวดล้อมแบบสด คุณสามารถเรียกมันผ่าน Environment
singleton
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
ผู้สนับสนุนยินดีอย่างยิ่งที่จะช่วยพัฒนาห้องสมุดนี้ วิธีการที่สำคัญทั้งหมดควรมีการทดสอบหน่วย
หากต้องการรันการทดสอบ เพียงเรียกคำสั่ง composer test
บนเทอร์มินัล