Кто может поделиться сведениями от API, в документации о них очень скудно написано.
Как через APi узнать текущий баланс пользователя, его валюту, и как произвести автоматический вычит за услугу?
Выход так правильно делается, или нужно/можно ещё какие-то параметры передать:
http://{Domain}/API/Logout
API
Re: API
Ура, это подходит:
$request = sprintf('http://***/API/Logout?XMLHttpRequest=yes&SessionID=%s', $_SESSION['SessionID']);
Хотя нет никаких входных параметров в \hosts\billing\comp\www\API\logout.comp
$request = sprintf('http://***/API/Logout?XMLHttpRequest=yes&SessionID=%s', $_SESSION['SessionID']);
Хотя нет никаких входных параметров в \hosts\billing\comp\www\API\logout.comp
Re: API
Код: Выделить всё
$request = sprintf('http://***/API/UserPersonalDataChange?XMLHttpRequest=yes&SessionID=%s&Email=%s&Name=%s&Sign=%s',
$_SESSION['SessionID'],
$Email,
urlencode($Name),
urlencode($Sign) );
Смена некоторых учетных данных пользователя.
Последний раз редактировалось Alex Keda 2010-10-25 19:32:07, всего редактировалось 1 раз.
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...
Причина: Товарищщи, цените чужое время, юзайте кнопочку [code]...
Re: API
запросом к базе.
но это от администратора
но это от администратора
Код: Выделить всё
$Request = SPrintF('http://'.$BillingHost.'/Administrator/API/SelectDB?SessionID=%s&XMLHttpRequest=yes&TableID=%s&ColumnsIDs[]=ID&ColumnsIDs[]=Name&ColumnsIDs[]=CostMonth&ColumnsIDs[]=QuotaDisk&ColumnsIDs[]=QuotaDomains&ColumnsIDs[]=QuotaDBs&ColumnsIDs[]=QuotaFTP&ColumnsIDs[]=QuotaEmail&ColumnsIDs[]=QuotaDisk&ColumnsIDs[]=PackageID&Conditions[]=ServersGroupId=1&Conditions[]=GroupId=1&Conditions[]=IsActive=yes&SortOn=CostMonth',$SessionID,'HostingSchemes');
$HostingSchemesAnswer1 = GetAnswer ($Request);
Убей их всех! Бог потом рассортирует...
Re: API
Добрый день!
Пробую создать счет через API, но что-то не получается. Регистрация, изменение учеток - все ок, а вот с созданием счета затык. Код по той же схеме, что и в других (работающих) случаях (например регистрация через /API/UserRegister).
Сначала регистрирую юзера через API, затем логинюсь опять через API, так что сессия создается и живет. Затем пытаюсь от имени этого пользователя создать себе новый счет:
Запрос уходит как надо:
Что имеем в итоге? Что бы я не послал в InvoiceMake - ответ всегда приходит Status = "Ok", а InvoiceID пустой. => счет не создается, в логи ничего по этому поводу не пишется. Не могу понять почему.
В случае с UserRegister, например, если посылаю какой-то параметр криво или не посылаю, то получаю ошибку в ответ. А InvoiceMake вообще не замечает этого и шлет "Ok"...
Заранее спасибо за помощь)
Пробую создать счет через API, но что-то не получается. Регистрация, изменение учеток - все ок, а вот с созданием счета затык. Код по той же схеме, что и в других (работающих) случаях (например регистрация через /API/UserRegister).
Сначала регистрирую юзера через API, затем логинюсь опять через API, так что сессия создается и живет. Затем пытаюсь от имени этого пользователя создать себе новый счет:
Код: Выделить всё
function make_invoice($contractid, $summ) {
$Args = Array(
'ContractID' => $contractid,
'XMLHttpRequest' => 'yes',
'PaymentSystemID' => $_POST['PSystem'],
'Summ' => $summ
);
$Query = Http_Build_Query($Args);
$Answer = @File_Get_Contents("http://testtest.com/API/InvoiceMake?".$Query."");
if(!$Answer)
return('Request error');
#-------------------------------------------------------------------------------
$Answer = @JSON_Decode($Answer,TRUE);
if(!$Answer)
return('Bad answer');
#-------------------------------------------------------------------------------
switch($Answer['Status']){
case 'Error':
#---------------------------------------------------------------------------
$Error = $Answer['Error'];
#---------------------------------------------------------------------------
return($Error['String']);
case 'Exception':
#---------------------------------------------------------------------------
$Exception = $Answer['Exception'];
#---------------------------------------------------------------------------
return($Exception['String']);
case 'Ok':
#---------------------------------------------------------------------------
return "ok";
#---------------------------------------------------------------------------
default:
return('Wrong status');
}
}
echo make_invoice($contractid, $summ);
Запрос уходит как надо:
127.0.1.1 - - [19/Nov/2010:01:10:36 +0100] "GET /API/InvoiceMake?ContractID=8&XMLHttpRequest=yes&PaymentSystemID=WebMoney+WMR&Summ=500.00 HTTP/1.0" 200 6992 "-" "-"
Что имеем в итоге? Что бы я не послал в InvoiceMake - ответ всегда приходит Status = "Ok", а InvoiceID пустой. => счет не создается, в логи ничего по этому поводу не пишется. Не могу понять почему.
В случае с UserRegister, например, если посылаю какой-то параметр криво или не посылаю, то получаю ошибку в ответ. А InvoiceMake вообще не замечает этого и шлет "Ok"...
Заранее спасибо за помощь)
Re: API
Положите файл DEBUG в корень системы где и jbs-error.log, посмотрите какие запросы уходят в базу и какие ошибки.
Joonte - биллинговая система для хостинга
Re: API
В общем-то дебаг не навел ни на какие мысли... Возможно, какие-то проблемы с авторизацией запроса. Но перед его выполнением я авторизуюсь и получаю SessionID...
Дебаг (то, что касается InvoiceMake):
Дебаг (то, что касается InvoiceMake):
[20:27:25.03] [JBs core]: система работала: 0.074167013168335
[20:27:25.11] [JBs core]: запуск системы (20.11.10)
[20:27:25.11] [JBs core]: тип интерфейса сервера (apache2handler)
[20:27:25.11] [JBs core]: IP-адрес сервера (127.0.1.1)
[20:27:25.11] [JBs core]: версия PHP интерпретатора (5.3.3-1ubuntu9.1)
[20:27:25.11] [JBs core]: операционная система (Linux axelllap 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686)
[20:27:25.11] [JBs core]: система запущена от имени пользователя (www-data)
[20:27:25.11] [JBs core]: осуществлен запрос с адреса (127.0.1.1)
[20:27:25.11] [JBs core]: REQUEST_URI=(/API/InvoiceMake?ContractID=7&XMLHttpRequest=yes&PaymentSystemID=WebMoney+WMR&Summ=500.00)
[20:27:25.11] [JBs core]: PATH=(:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:/home/axell/apache:/home/axell:/home)
[20:27:25.11] [JBs core]: загрузка автозагружаемых классов и библиотек
[20:27:25.11] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/billing/system/libs/auto/Permission.lib)
[20:27:25.11] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/billing/system/libs/auto/Notifies.lib)
[20:27:25.11] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/DB.lib)
[20:27:25.11] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Styles.lib)
[20:27:25.11] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/String.lib)
[20:27:25.12] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/IO.lib)
[20:27:25.12] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Comp.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/System.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Links.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Arrays.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/MemoryCache.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Messages.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Config.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Crypt.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Cache.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Standard.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Regulars.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/libs/auto/Args.lib)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/classes/auto/Exception.class)
[20:27:25.13] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/classes/auto/Tag.class)
[20:27:25.14] [JBs core]: загружается системный компонент (/home/axell/apache/hosts/root/system/classes/auto/MySQL.class)
[20:27:25.14] [JBs core]: внешний запрос сформирован как (__URI=/API/InvoiceMake)
[20:27:25.14] [JBs core]: загружается модуль (/home/axell/apache/hosts/billing/system/modules/auto/Redirects.mod)
[20:27:25.14] [JBs core]: загружается модуль (/home/axell/apache/hosts/billing/system/modules/auto/SetCookieSessionID.mod)
[20:27:25.14] [JBs core]: загружается модуль (/home/axell/apache/hosts/billing/system/modules/auto/SetCookieOwner.mod)
[20:27:25.14] [JBs core]: загружается модуль (/home/axell/apache/hosts/root/system/modules/auto/Security.mod)
[20:27:25.14] [Security module]: [проверка параметров]
[20:27:25.14] [Security module]: (ContractID) = (7)
[20:27:25.14] [Security module]: (XMLHttpRequest) = (yes)
[20:27:25.14] [Security module]: (PaymentSystemID) = (WebMoney WMR)
[20:27:25.14] [Security module]: (Summ) = (500.00)
[20:27:25.14] [JBs core]: загружается модуль (/home/axell/apache/hosts/root/system/modules/auto/Request.mod)
[20:27:25.14] [Request module]: [замена параметров]
[20:27:25.15] [MemoryCache_Get]: соединение с сервером кеширования установлено версия (1.4.5)
[20:27:25.15] [System_Load]: компонент системы (/home/axell/apache/hosts/root/system/classes/Session.class) был загружен
[20:27:25.16] [MySQL->Open]: связь как (root@localhost:3306) установлена
[20:27:25.16] [MySQL->Query]: SET NAMES `utf8`
[20:27:25.17] [MySQL->Query]: USE `jbs`
[20:27:25.17] [MySQL->Query]: SELECT `ID` FROM `Clauses` WHERE (`Partition` = '/API/InvoiceMake')
[20:27:25.17] [Exception]: [ROWS_NOT_FOUND]=(Записи не найдены)
[20:27:25.17] [!] [8]-Undefined index: SessionID в линии 36 файла /home/axell/apache/hosts/billing/system/modules/Main.mod
[20:27:25.18] [IO_Read]: открытие файла (/home/axell/apache/hosts/root/templates/Window.xml)
[20:27:25.18] [String_XML_Parse]: парсирование строки (245 bytes)
[20:27:25.20] [String_XML_Parse]: парсирование строки (610 bytes)
[20:27:25.21] [String_XML_Parse]: парсирование строки (193 bytes)
[20:27:25.21] [MySQL->Query]: SELECT `Value` FROM `Config` WHERE (`Param` = 'Copyright')
[20:27:25.23] [!] [8]-Undefined index: Email в линии 58 файла /home/axell/apache/core/Load.php(132) : eval()'d code
[20:27:25.26] [!] [1024]-[MemoryCache_Get]: не удалось извлечь объект в линии 93 файла /home/axell/apache/hosts/root/system/libs/auto/MemoryCache.lib
[20:27:25.26] [!] [1024]-[System_HostsIDs]: не удалось найти хосты для элемента (comp/Triggers/DOM/After/Window.comp) в линии 84 файла /home/axell/apache/hosts/root/system/libs/auto/System.lib
[20:27:25.26] [!] [1024]-[System_Element]: список хостов содержащих элемент не найдены в линии 103 файла /home/axell/apache/hosts/root/system/libs/auto/System.lib
[20:27:25.27] [JBs core]: система работала: 0.16612505912781
Вернуться в «Установка и настройка»
Кто сейчас на конференции
Сейчас этот форум просматривают: [YandexBot] и 4 гостя