Класс обертки, написанный в PHP, который упрощает общение с API Apple GSX Web Service API через SOAP.
Включите класс в свой проект.
function autoload ( $ class ) {
require_once ( "{ $ class } .class.php " );
}
spl_autoload_register ( ' autoload ' );
У класса есть конструктор, поэтому вы должны создавать его с помощью параметров.
$ gsx = new GSX ( ' {REGION CODE} ' , ' {ENVIRONMENT} ' , ' {CERTIFICATE FILE} ' , ' {CERTIFICATE PASSPHRASE} ' );
Теперь вы можете просто позвонить в $gsx->request('method', $data)
где $data
-это массив, содержащий соответствующие данные для метода.
Аутентификация создает идентификатор сеанса, который необходим для всех других методов. Идентификатор сеанса действителен в течение 30 минут, поэтому вы, вероятно, захотите сохранить его вместе с меткой времени в сеансе браузера или базы данных, чтобы пользователь не получил ошибку ATH.Log.20.
$ data = [
' AuthenticateRequest ' => [
' userId ' => ' [email protected] ' ,
' languageCode ' => ' en ' ,
' userTimeZone ' => ' CEST ' ,
' serviceAccountNo ' => ' 1000001 ' ,
],
];
$ request = $ gsx -> request ( ' Authenticate ' , $ data )-> AuthenticateResponse ;
echo json_encode ( $ request );
Вывод (в случае успеха) будет выглядеть как
{ "userSessionId" : " 26US9Svslm6DzQpQRDLkdfM " , "operationId" : " LnjrLfZfhK3GLM4TzwRKv " }
Хотите узнать гарантийный статус устройства?
' WarrantyStatusRequest ' => [
$ data = [
' userSession ' => [
' userSessionId ' => ' 26US9Svslm6DzQpQRDLkdfM ' ,
],
' unitDetail ' => [
' serialNumber ' => ' 70033CDFA4S ' ,
' shipTo ' => ' 1000001 ' ,
],
],
];
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> warrantyStatus ;
Нужно знать, покрываются ли конкретные детали определенной компетей?
$ 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 );
Для оставшихся примеров $data
- это массив, содержащий соответствующие данные для метода API.
Чтобы поискать статус блокировки активации, просто возьмите ключ ActivationLockstatus в ответе.
$ gsx -> request ( ' WarrantyStatus ' , $ data )-> WarrantyStatusResponse -> warrantyDetailInfo -> activationLockStatus ;
$ gsx -> request ( ' FetchIOSActivationDetails ' , $ data )-> FetchIOSActivationDetailsResponse -> activationDetailsInfo -> serialNumber ;
$ gsx -> request ( ' ComptiaCodeLookup ' , $ data )-> ComptiaCodeLookupResponse -> comptiaInfo ;
Интеграционное тестирование (GSXIT)
Приемное тестирование (GSXUT)
Производство (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.