Diese Bibliothek kann zum Herstellen einer Verbindung und zum Ausführen von Vorgängen auf der HMRC-API https://developer.service.hmrc.gov.uk/api-documentation verwendet werden.
Für globale APIs wie Hello World können Sie die Klasse HelloWorldRequest verwenden, um den API-Aufruf zu verarbeiten.
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
Für anwendungsbeschränkte API-Aufrufe wie „Hello Application“. Legen Sie zuerst das Server-Token mit der ServerToken-Klasse fest und dann können Sie die HelloApplicationRequest-Klasse verwenden, um die API aufzurufen.
<?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 ();
Informationen zum benutzerbeschränkten API-Aufruf finden Sie im nächsten Abschnitt.
Der einfachste Weg, dies herauszufinden, besteht darin, den lokalen Server mit dem Befehl php -S localhost:8080
im Stammverzeichnis dieser Bibliothek auszuführen. Navigieren Sie dann in Ihrem Browser zu http://localhost:8080/examples/index.php. Vergessen Sie nicht, die Anmeldeinformationen in der Datei „examples/config.php“ einzurichten.
<?php
$ clientId = ' clientid ' ;
$ clientSecret = ' clientsecret ' ;
$ serverToken = ' servertoken ' ;
Sie können das Zugriffstoken erhalten, indem Sie einen HMRC-Oauth2-Anbieter erstellen und zur Autorisierungs-URL umleiten (siehe Beispiel/oauth2/create-access-token.php zum Beispiel).
<?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 );
Nachdem der Benutzer die Autorisierung auf der HMRC-Autorisierungsseite erteilt hat, wird er zurück zu $callbackUri
umgeleitet, was im obigen Beispiel die Datei callback.php ist.
Inhalt von 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 ;
Sie müssen die Klasse HMRCOauth2AccessToken
verwenden, um das Zugriffstoken abzurufen und festzulegen. Die Klasse, die die Anfrage ausführt, erhält ein Zugriffstoken von dieser Klasse.
Nachdem wir das Zugriffstoken erhalten und in HMRCOauth2AccessToken
gespeichert haben, können wir mit dem Aufruf der benutzerbeschränkten API beginnen. Hier ist zum Beispiel die Anfrage an den Endpunkt „Hallo Benutzer“.
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
Im Standardmodus kommuniziert diese Bibliothek mit sandbox
-Umgebung von HMRC. Wenn Sie eine Live-Umgebung verwenden möchten, können Sie diese über Environment
Singleton aufrufen.
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
Mitwirkende sind herzlich willkommen, bei der Entwicklung dieser Bibliothek mitzuhelfen. Alle wichtigen Methoden sollten einem Unit-Test unterzogen werden.
Um den Test auszuführen, rufen Sie einfach composer test
auf dem Terminal auf.