Web API
Для интеграции BGBilling с внешними сайтами или стороним Личным кабинетом, возможно использование механизм Web API (доступен с версии 6.2)
Для активации данного API в конфигурации ядра необходимо прописать
web.api.enable=true
Запрос к Web API не проверяется на аутентификацию и права пользователя, поэтому при его включении нужно изолировать доступ к данному URL.
После активации, будeт доступны два режима получения данных из BGBIlling:
в XML формате (http://host[:port]/bgbilling/xmlWebApi/<operation>)
в JSON формате (http://host[:port]/bgbilling/jsonWebApi/<operation>)
где <operation> это:
для Ядра
login
contractParameters
contractBalance
contractPayments
lastContractPayments
contractTarifPlans
contractTariffOptions
contractModules
для других модулей - в разработке, дополнительная информация по запросу на e-mail (http://bgbilling.ru) или на форуме
Операция login
пример запроса - /xmlWebApi/login?login=kirill&password=******[&midAuth=0] или /jsonWebApi/login?login=kirill&password=******[&midAuth=0]
ответы:
<response><status>Ok</status><contractId>
386010
</contractId><contractTitle>kirill</contractTitle></response>
или
{
"contractTitle"
:
"kirill"
,
"contractId"
:
386010
,
"status"
:
"Ok"
}
Операция contractParameters
пример запроса - /xmlWebApi/contractParameters?contractId=386010 или /jsonWebApi/contractParameters?contractId=386010
ответы:
<response><status>Ok</status><contractParameters><contractParameter><id>
4
</id><typeId>
1
</typeId><title>Ф.И.О. руководителя</title><read>
true
</read><write>
true
</write><value>Иванов Иван Иванович</value></contractParameter><contractParameter><id>
7
</id><typeId>
1
</typeId><title>Контактное лицо</title><read>
false
</read><write>
true
</write><value/></contractParameter><contractParameter><id>
1
</id><typeId>
1
</typeId><title>Краткое название организации</title><read>
true
</read><write>
true
</write><value>Фирма</value></contractParameter><contractParameter><id>
20
</id><typeId>
3
</typeId><title>e-mail</title><read>
true
</read><write>
true
</write><value><info
@company
.ru></value></contractParameter><contractParameter><id>
40
</id><typeId>
9
</typeId><title>Телефон (новый)</title><read>
true
</read><write>
true
</write><value>
7
(
347
)
292
-
48
-
23
</value></contractParameter></contractParameters></response>
или
{
"contractParameters"
:[{
"read"
:
"true"
,
"typeId"
:
"1"
,
"id"
:
"4"
,
"title"
:
"Ф.И.О. руководителя"
,
"write"
:
"true"
,
"value"
:
"Иванов Иван Иванович"
},{
"read"
:
"false"
,
"typeId"
:
"1"
,
"id"
:
"7"
,
"title"
:
"Контактное лицо"
,
"write"
:
"true"
},{
"read"
:
"true"
,
"typeId"
:
"1"
,
"id"
:
"1"
,
"title"
:
"Краткое название организации"
,
"write"
:
"true"
,
"value"
:
"Фирма"
},{
"read"
:
"true"
,
"typeId"
:
"3"
,
"id"
:
"20"
,
"title"
:
"e-mail"
,
"write"
:
"true"
,
"value"
:
"<info@company.ru>"
},{
"read"
:
"true"
,
"typeId"
:
"9"
,
"id"
:
"40"
,
"title"
:
"Телефон (новый)"
,
"write"
:
"true"
,
"value"
:
"7 (347) 292-48-23"
}],
"status"
:
"Ok"
}