Eine in PHP geschriebene Wrapper -Klasse, die die Kommunikation mit Apple GSX Web Service API über SOAP vereinfacht.
Fügen Sie die Klasse in Ihr Projekt ein.
function autoload ( $ class ) {
require_once ( "{ $ class } .class.php " );
}
spl_autoload_register ( ' autoload ' );
Die Klasse hat einen Konstrukteur, sodass Sie sie mit Parametern instanziieren müssen.
$ gsx = new GSX ( ' {REGION CODE} ' , ' {ENVIRONMENT} ' , ' {CERTIFICATE FILE} ' , ' {CERTIFICATE PASSPHRASE} ' );
Jetzt können Sie einfach $gsx->request('method', $data)
aufrufen, wobei $data
ein Array ist, das die entsprechenden Daten für die Methode enthält.
Die Authentifizierung erstellt eine Sitzungs -ID, die für alle anderen Methoden benötigt wird. Die Sitzungs -ID ist 30 Minuten lang gültig, daher möchten Sie sie wahrscheinlich zusammen mit einem Zeitstempel in einer Browser -Sitzung oder -Datenbank speichern, um zu verhindern, dass der Benutzer einen Fehler mit ath.log.20 erhält.
$ data = [
' AuthenticateRequest ' => [
' userId ' => ' [email protected] ' ,
' languageCode ' => ' en ' ,
' userTimeZone ' => ' CEST ' ,
' serviceAccountNo ' => ' 1000001 ' ,
],
];
$ request = $ gsx -> request ( ' Authenticate ' , $ data )-> AuthenticateResponse ;
echo json_encode ( $ request );
Die Ausgabe (falls erfolgreich) würde ungefähr so aussehen wie
{ "userSessionId" : " 26US9Svslm6DzQpQRDLkdfM " , "operationId" : " LnjrLfZfhK3GLM4TzwRKv " }
Möchten Sie den Garantiestatus eines Geräts kennen?
' WarrantyStatusRequest ' => [
$ data = [
' userSession ' => [
' userSessionId ' => ' 26US9Svslm6DzQpQRDLkdfM ' ,
],
' unitDetail ' => [
' serialNumber ' => ' 70033CDFA4S ' ,
' shipTo ' => ' 1000001 ' ,
],
],
];
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> warrantyStatus ;
Müssen Sie wissen, ob bestimmte Teile mit einer bestimmten CompTia bedeckt sind?
$ 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 );
Für die verbleibenden Beispiele sind $data
ein Array, das die entsprechenden Daten für die API -Methode enthält.
Um den Status "Aktivierungsverriegelung" zu finden, schnappen Sie sich einfach den ActivationLockstatus -Schlüssel in der Antwort.
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> activationLockStatus ;
$ gsx -> request ( ' FetchIOSActivationDetails ' , $ data )-> FetchIOSActivationDetailsResponse -> activationDetailsInfo -> serialNumber ;
$ gsx -> request ( ' ComptiaCodeLookup ' , $ data )-> ComptiaCodeLookupResponse -> comptiaInfo ;
Integrationstest (GSXIT)
Akzeptanztest (GSXUT)
Produktion (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.