Une classe de wrapper écrite en PHP qui simplifie la communication avec l'API du service Web Apple GSX via du savon.
Incluez la classe dans votre projet.
function autoload ( $ class ) {
require_once ( "{ $ class } .class.php " );
}
spl_autoload_register ( ' autoload ' );
La classe a un constructeur, vous devez donc l'instancier en utilisant des paramètres.
$ gsx = new GSX ( ' {REGION CODE} ' , ' {ENVIRONMENT} ' , ' {CERTIFICATE FILE} ' , ' {CERTIFICATE PASSPHRASE} ' );
Vous pouvez maintenant simplement appeler $gsx->request('method', $data)
où $data
est un tableau contenant les données appropriées pour la méthode.
L'authentification crée un ID de session nécessaire pour toutes les autres méthodes. L'ID de session est valide pendant 30 minutes, vous voudrez donc probablement le enregistrer avec un horodatage dans une session ou une base de données de navigateur pour empêcher l'utilisateur d'obtenir une erreur Ath.log.20.
$ data = [
' AuthenticateRequest ' => [
' userId ' => ' [email protected] ' ,
' languageCode ' => ' en ' ,
' userTimeZone ' => ' CEST ' ,
' serviceAccountNo ' => ' 1000001 ' ,
],
];
$ request = $ gsx -> request ( ' Authenticate ' , $ data )-> AuthenticateResponse ;
echo json_encode ( $ request );
La sortie (en cas de succès) ressemblerait à quelque chose comme
{ "userSessionId" : " 26US9Svslm6DzQpQRDLkdfM " , "operationId" : " LnjrLfZfhK3GLM4TzwRKv " }
Vous voulez connaître l'état de garantie d'un appareil?
' WarrantyStatusRequest ' => [
$ data = [
' userSession ' => [
' userSessionId ' => ' 26US9Svslm6DzQpQRDLkdfM ' ,
],
' unitDetail ' => [
' serialNumber ' => ' 70033CDFA4S ' ,
' shipTo ' => ' 1000001 ' ,
],
],
];
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> warrantyStatus ;
Besoin de savoir si des pièces spécifiques sont couvertes d'une certaine comptia?
$ parts [] = [ ' partNumber ' => ' 661-02757 ' , ' comptiaCode ' => ' H03 ' ];
$ parts [] = [ ' partNumber ' => ' 661-7109 ' , ' comptiaCode ' => ' L03 ' ];
$ data = [
' WarrantyStatusRequest ' => [
' userSession ' => [
' userSessionId ' => ' 26US9Svslm6DzQpQRDLkdfM ' ,
],
' unitDetail ' => [
' serialNumber ' => ' 70033CDFA4S ' ,
' partNumbers ' => $ parts ,
' shipTo ' => ' 1000001 ' ,
],
],
];
$ gsx -> request ( ' WarrantyStatus ' , $ data );
Pour les exemples restants, $data
sont un tableau contenant les données appropriées pour la méthode API.
Pour rechercher l'état de verrouillage de l'activation, saisissez simplement la touche ActivationLockStatus dans la réponse.
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> activationLockStatus ;
$ gsx -> request ( ' FetchIOSActivationDetails ' , $ data )-> FetchIOSActivationDetailsResponse -> activationDetailsInfo -> serialNumber ;
$ gsx -> request ( ' ComptiaCodeLookup ' , $ data )-> ComptiaCodeLookupResponse -> comptiaInfo ;
Test d'intégration (GSXIT)
Test d'acceptation (GSXUT)
Production (GSX)
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <[email protected]>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.