Cette bibliothèque peut être utilisée pour se connecter et effectuer des opérations sur l'API HMRC https://developer.service.hmrc.gov.uk/api-documentation.
Pour les API globales telles que Hello World, vous pouvez utiliser la classe HelloWorldRequest pour gérer l'appel d'API.
<?php
$ request = new HMRC Hello HelloWorldRequest ;
// Response is instant of HMRCResponse class
$ response = $ request -> fire ();
return $ response -> getBody ();
Pour les appels d’API restreints aux applications tels que Hello Application. Définissez d’abord le jeton du serveur à l’aide de la classe ServerToken, puis vous pouvez utiliser la classe HelloApplicationRequest pour appeler l’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 ();
Pour les appels API réservés aux utilisateurs, veuillez consulter la section suivante.
Le moyen le plus simple d'en savoir plus est d'exécuter le serveur local à l'aide de la commande php -S localhost:8080
à la racine de cette bibliothèque. Et puis accédez à http://localhost:8080/examples/index.php sur votre navigateur. N'oubliez pas de configurer les informations d'identification dans le fichier examples/config.php.
<?php
$ clientId = ' clientid ' ;
$ clientSecret = ' clientsecret ' ;
$ serverToken = ' servertoken ' ;
Vous pouvez obtenir le jeton d'accès en créant un fournisseur HMRC Oauth2 et en redirigeant vers l'URL d'autorisation (voir exemple/oauth2/create-access-token.php par exemple).
<?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 );
Une fois que l'utilisateur a accordé l'autorisation sur la page d'autorisation HMRC, il sera redirigé vers $callbackUri
, qui dans l'exemple ci-dessus, le fichier callback.php.
Contenu de 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 ;
Vous devez utiliser la classe HMRCOauth2AccessToken
pour obtenir et définir le jeton d'accès. La classe qui effectue la demande obtiendra le jeton d'accès de cette classe.
Après avoir obtenu le jeton d'accès et l'avoir enregistré dans HMRCOauth2AccessToken
, nous pouvons commencer à appeler l'API restreinte à l'utilisateur. Par exemple, voici la demande de bonjour au point de terminaison de l'utilisateur.
<?php
$ request = new HMRC Hello HelloUserRequest ;
$ response = $ request -> fire ();
return $ response -> getBody ();
En mode par défaut, cette bibliothèque communiquera avec l'environnement sandbox
de HMRC. Si vous souhaitez utiliser un environnement live, vous pouvez l'appeler via Environment
singleton.
<?php
HMRC Environment Environment:: getInstance ()-> setToLive ();
Le contributeur est plus que bienvenu pour aider à développer cette bibliothèque, toutes les méthodes importantes doivent avoir des tests unitaires.
Pour exécuter le test, appelez simplement la commande composer test
sur le terminal.