Una clase de envoltura escrita en PHP que simplifica la comunicación con la API del servicio web Apple GSX a través de SOAP.
Incluya la clase en su proyecto.
function autoload ( $ class ) {
require_once ( "{ $ class } .class.php " );
}
spl_autoload_register ( ' autoload ' );
La clase tiene un constructor, por lo que debe instanciarlo utilizando parámetros.
$ gsx = new GSX ( ' {REGION CODE} ' , ' {ENVIRONMENT} ' , ' {CERTIFICATE FILE} ' , ' {CERTIFICATE PASSPHRASE} ' );
Ahora puede simplemente llamar a $gsx->request('method', $data)
donde $data
es una matriz que contiene los datos apropiados para el método.
La autenticación crea una ID de sesión necesaria para todos los demás métodos. La ID de sesión es válida durante 30 minutos, por lo que probablemente desee guardarla junto con una marca de tiempo en una sesión de navegador o base de datos para evitar que el usuario obtenga un error 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 salida (si tiene éxito) se vería algo así como
{ "userSessionId" : " 26US9Svslm6DzQpQRDLkdfM " , "operationId" : " LnjrLfZfhK3GLM4TzwRKv " }
¿Quiere saber el estado de garantía de un dispositivo?
' WarrantyStatusRequest ' => [
$ data = [
' userSession ' => [
' userSessionId ' => ' 26US9Svslm6DzQpQRDLkdfM ' ,
],
' unitDetail ' => [
' serialNumber ' => ' 70033CDFA4S ' ,
' shipTo ' => ' 1000001 ' ,
],
],
];
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> warrantyStatus ;
¿Necesitan saber si las partes específicas están cubiertas con un cierto 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 );
Para los ejemplos restantes, $data
es una matriz que contiene los datos apropiados para el método API.
Para buscar el estado del bloqueo de activación, simplemente tome la tecla ActiveLockLockStatus en la respuesta.
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> activationLockStatus ;
$ gsx -> request ( ' FetchIOSActivationDetails ' , $ data )-> FetchIOSActivationDetailsResponse -> activationDetailsInfo -> serialNumber ;
$ gsx -> request ( ' ComptiaCodeLookup ' , $ data )-> ComptiaCodeLookupResponse -> comptiaInfo ;
Pruebas de integración (GSXIT)
Pruebas de aceptación (GSXUT)
Producción (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.