يمكن استخدام هذه المكتبة للاتصال وإجراء العمليات على HMRC API https://developer.service.hmrc.gov.uk/api-documentation.
بالنسبة لواجهة برمجة التطبيقات العالمية مثل Hello World، يمكنك استخدام فئة HelloWorldRequest للتعامل مع استدعاء واجهة برمجة التطبيقات.
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
لاستدعاء واجهة برمجة التطبيقات المقيدة بالتطبيق مثل تطبيق Hello. قم أولاً بتعيين الرمز المميز للخادم باستخدام فئة ServerToken ثم يمكنك استخدام فئة HelloApplicationRequest لاستدعاء واجهة برمجة التطبيقات.
<?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 ();
بالنسبة لاستدعاء واجهة برمجة التطبيقات المقيدة بواسطة المستخدم، يرجى الاطلاع على القسم التالي.
أسهل طريقة للتعرف على ذلك هي تشغيل الخادم المحلي باستخدام أمر php -S localhost:8080
في جذر هذه المكتبة. ثم انتقل إلى http://localhost:8080/examples/index.php على متصفحك. لا تنس إعداد بيانات الاعتماد داخل ملف example/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
، يمكننا البدء في الاتصال بواجهة برمجة التطبيقات المقيدة بالمستخدم. على سبيل المثال، هنا هو الطلب إلى نقطة النهاية للمستخدم مرحبا.
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
في الوضع الافتراضي، ستتحدث هذه المكتبة مع بيئة sandbox
الخاصة بـ HMRC. إذا كنت ترغب في استخدام البيئة الحية، فيمكنك الاتصال بها عبر Environment
المفردة.
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
نرحب بالمساهم للمساعدة في تطوير هذه المكتبة، ويجب أن تخضع جميع الطرق المهمة لاختبار الوحدة.
لتشغيل الاختبار، ما عليك سوى استدعاء أمر composer test
على الجهاز الطرفي.