API REST SOAP (Устарело)

по сравнению с
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (5)

просмотр истории страницы
{warning}Эта версия API больше не поддерживается. Пожалуйста, используйте [CarbonBilling:API REST v2.0]{warning}

h2. Отличия API REST v1 и v2

* Новый адрес для запросов: http://<ip>:8082/rest_api/v2/
* Вместо передачи параметров в GET, перешли на POST
* Убрали из вывода результаты промежуточных вызовов (method1, method2,..), оставили только result
* Соответственно, немного поменялся схема вывода (см. соответствующий раздел)
* Модель указывается в url напрямую, например: http://<ip>:8082/rest_api/v2/Abonents/
* Атрибут запроса fields теперь не нужно маркировать номером метода. Он будет применяться к последнему объекту (возвращенному последним методом)
* Документацию (пока что только перечень доступных полей для запроса) можно посмотреть, пройдя браузером по ссылке http://<ip>:8082/rest_api/v2/
* Теперь можно в fields запрашивать вывод объектов по ссылкам (fk, m2m), обратным ссылкам и выводить property объектов, а также выводить конкретные поля этих объектов. Глубина запроса не ограничена, разделитель - двойное подчеркивание. \*Внимание\! Django не объединяет запрос по обратной ссылке в один, поэтому он может выполняться заметно дольше для большого кол-ва объектов (например, если запросить все учетные записи у всех абонентов - будет 1 запрос для абонентов и по запросу на каждого абонента для получения его учетных записей)

h2. Описание API REST v1

Api работает через порт 8082.
!апи2.JPG|border=1!
{code}

*Пример 2. Получить баланс все данные абонента с номером договора BILL0000029.*
{code}
http://<ip_сервера>:8082/rest_api/?model=Abonents&method1=objects.get&arg1={"contract_number":"BILL0000029"}&format=json
Например при запуске отчета выводится 2 поля для заполнения, которые называются "C_даты" и "По_дату"
{code}
http://<ip_сервера>:8082/rest_api/?model=AdminCustomReports&method1=objects.get&arg1={"pk":"<номер_отчета_в_конструкторе_отчетов>"}&method2=get_data&arg2={"C_даты":"05.12.2014","По_дату":"10.12.2014"}
model=AdminCustomReports&method1=objects.get&arg1={"pk":"<номер_отчета_в_конструкторе_отчетов>"}&method2=get_data&arg2={"C_даты":"05.12.2014","По_дату":"10.12.2014"}
{code}{*}Пример 5. Получить список учетных записей заблокированных абонентов*

{code}
{code}

{code}
http://<ip_сервера>:8082/rest_api/?
model=Users&method1=objects.extra&arg1={ "where": ["users.abonent_id in (select abonent_id from abonents_block)"] }
{code}
{code}
{code}