Користувальницькькі налаштування

Налаштування сайту


xmlagent

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
Наступна ревізія По сторонах наступні версії
xmlagent [2024/03/22 20:05]
bobr [Списання коштів з рахунку абонента]
xmlagent [2024/03/22 21:18]
bobr [Трохи про "сесуріті"]
Рядок 4: Рядок 4:
 Починаючи з релізу 1.4.5 **XMLAgent REST API** тепер винесено у окремий клас і додано багацько нових викликів. Починаючи з релізу 1.4.5 **XMLAgent REST API** тепер винесено у окремий клас і додано багацько нових викликів.
  
-Отримати доступ до **XMLAgent REST API** можна за допомогою таких URL:+Приклади URL для створення запитів до **XMLAgent REST API** (детальніше дивіться в описі кожного запиту нижче):
  
   * **?xmlagent=true** - нутрощі користувача   * **?xmlagent=true** - нутрощі користувача
Рядок 58: Рядок 58:
   * поточне REST API може працювати без авторизаці, а значить, теоретично, доступ до певних даних вашої БД може отримати будь-хто   * поточне REST API може працювати без авторизаці, а значить, теоретично, доступ до певних даних вашої БД може отримати будь-хто
   * не треба занадто самовпевнено думати, що "тааа - мій **userstats** за NATом - шо там мені загрожує?" - бо це не так   * не треба занадто самовпевнено думати, що "тааа - мій **userstats** за NATом - шо там мені загрожує?" - бо це не так
-  * ніколи не відкривайте XMLAgent "просто в світ" - як мінімум - налаштуйте безпечні хости/IP на своєму веб сервері та/або фаєрволі, з яких буде дозволено робити запити до вашого XMLAgent. Можна ще й **reverse-proxy** заюзати - лишнім не буде+  * ніколи не відкривайте XMLAgent "просто в світ" - як мінімум - налаштуйте allowed хости/IP на своєму веб сервері та/або фаєрволі, з яких буде дозволено робити запити до вашого XMLAgent. Можна ще й **reverse-proxy** заюзати - лишнім не буде
  
 ====== Приклади запитів та відповідей ====== ====== Приклади запитів та відповідей ======
Рядок 93: Рядок 93:
  
 </code> </code>
 +\\
  
 ===== Загальні дані користувача але з примусовою авторизацією ===== ===== Загальні дані користувача але з примусовою авторизацією =====
Рядок 126: Рядок 127:
  
 </code> </code>
 +\\
  
 ===== Інформація про попередні платежі користувача ===== ===== Інформація про попередні платежі користувача =====
Рядок 179: Рядок 181:
  
 <code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&payments=true&json=true</code> <code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&payments=true&json=true</code>
 +\\
  
- +===== Списання коштів з рахунку користувача =====
-===== Списання коштів з рахунку абонента =====+
 <code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&feecharges=true</code> <code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&feecharges=true</code>
 Цей виклик підтримує фільтрацію по даті **з - по**. Для цього треба передати відповідні параметри: Цей виклик підтримує фільтрацію по даті **з - по**. Для цього треба передати відповідні параметри:
   * **datefrom=2024-01-11** - дата **з**   * **datefrom=2024-01-11** - дата **з**
   * **dateto=2024-01-21**   - дата **по**   * **dateto=2024-01-21**   - дата **по**
-Ці параметри абсолютно незалежні один від і одного і передавати можна будь-який з них окремо. Відповідно, отримаємо всі записи від "Різдва Христова"(тобто від появи користувача в біллінгу) до **dateto**, або ж від **datefrom** до поточної дати.+Ці параметри абсолютно незалежні один від і одного і передавати можна будь-який з них окремо. Відповідно, отримаємо всі записи від "Різдва Христова"(тобто від появи користувача в біллінгу) до **dateto**, або ж від **datefrom** до поточної дати. \\ 
 +Також варто зазначити, що в полях **note** та **type** для віртуальних сервісів будуть стояти **Найменування віртуального сервісу**(тобто - найменування тегу) та **virtualsrv** відповідно.
  
 <code xml> <code xml>
Рядок 221: Рядок 224:
 </data> </data>
 </code> </code>
- +\\
  
 ===== Активні оголошення кабінету користувача ===== ===== Активні оголошення кабінету користувача =====
Рядок 233: Рядок 235:
 </data> </data>
 </code> </code>
 +\\
  
 ===== Усі тікети користувача ===== ===== Усі тікети користувача =====
Рядок 272: Рядок 274:
  
 </code> </code>
 +\\
 +
 +===== Створення support-тікету (тобто запиту в техпідтримку)=====
 +
 +<code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&ticketcreate=true&tickettype=support_request&tickettext=U29tZSB0aWNrZXQgdGV4dCBmb3Igc3VwcG9ydCB0ZWFt</code>
 +
 +Так, ви все правильно здогадалися: параметр **tickettext** має містити текст тікету закодований у **BASE64**. \\
 +Цей запит повертає **created = success** та **ID** створеної заявки на підключення у разі успіху або **created = error** та **ID = 0** у разі невдачі.
 +
 +<code xml>
 +<?xml version="1.0" encoding="utf-8"?>
 +<data>
 + <created>success</created>
 + <id>9</id>
 +</data>
 +</code>
 +\\
 +
 +===== Створення signup-тікету (тобто заявки на підключення)=====
 +
 +<code>http://demo.ubilling.net.ua:9999/billing/userstats/?xmlagent=true&ticketcreate=true&tickettype=signup_request</code>
 +**ВАЖЛИВО** \\
 +Це єдиний на даний момент запит, який має відправлятися методом **POST** і "мати при собі" **RAW POST data** у форматі **JSON** наступної структури:
 +<code json>
 +{
 +    "date": "2024-02-29 19:57:50",
 +    "state": 0,
 +    "ip": "app_IP_addr",
 +    "street": "Some_City Some_Street",
 +    "build": "111",
 +    "apt": "222",
 +    "realname": "FirstName LastName",
 +    "phone": "0551234567",
 +    "service": "Internet",
 +    "notes": "Some important notes here"
 +}
 +</code>
 +
 +Варто зазначити, що поля **state** та **service** - статичні і їх значення міняти **НЕ треба**. \\
 +Цей запит повертає **created = success** та **ID** створеної заявки на підключення у разі успіху або **created = error** та **ID = 0** у разі невдачі.
 +
 +<code xml>
 +<?xml version="1.0" encoding="utf-8"?>
 +<data>
 + <created>success</created>
 + <id>9</id>
 +</data>
 +</code>
 +\\
  
 ===== Платіжні системи OpenPayz ===== ===== Платіжні системи OpenPayz =====
Рядок 291: Рядок 342:
 </data> </data>
 </code> </code>
 +\\
  
 ===== Кредитування ===== ===== Кредитування =====
Рядок 384: Рядок 436:
    * currency - валюта кабінету користувача    * currency - валюта кабінету користувача
    * creditintro - короткий опис послуги в локалі кабінету за замовчуванням    * creditintro - короткий опис послуги в локалі кабінету за замовчуванням
 +\\
  
 ===== Картки поповнення ===== ===== Картки поповнення =====
Рядок 418: Рядок 471:
  
 </code> </code>
 +\\
  
 ===== Асоційований з користувачем контрагент ===== ===== Асоційований з користувачем контрагент =====
Рядок 445: Рядок 499:
 </data> </data>
 </code> </code>
 +\\
  
 ===== Поточний тариф та всі віртуальні сервіси користувача ===== ===== Поточний тариф та всі віртуальні сервіси користувача =====
Рядок 469: Рядок 523:
 </data> </data>
 </code> </code>
 +\\
  
 ===== Всі поточні активні тарифи та віртуальні сервіси провайдеру ===== ===== Всі поточні активні тарифи та віртуальні сервіси провайдеру =====
Рядок 504: Рядок 559:
 </data> </data>
 </code> </code>
 +\\
  
 ===== XMLAgent вимкнено конфігурацією ===== ===== XMLAgent вимкнено конфігурацією =====
xmlagent.txt · Востаннє змінено: 2024/04/06 01:33 повз bobr