Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Порівняння попередніх версій Попередня ревізія | Попередня ревізія Наступна ревізія По сторонах наступні версії | ||
xmlagent [2020/09/22 16:37] |
xmlagent [2024/05/15 15:36] bobr [XMLAgent] |
||
---|---|---|---|
Рядок 1: | Рядок 1: | ||
+ | ====== XMLAgent ====== | ||
+ | Для зовнішніх програм, | ||
+ | Починаючи з релізу 1.4.5 **XMLAgent REST API** тепер винесено у окремий клас і додано багацько нових викликів. | ||
+ | |||
+ | Приклади URL для створення запитів до **XMLAgent REST API** (детальніше дивіться в описі кожного запиту нижче): | ||
+ | |||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | * **? | ||
+ | |||
+ | |||
+ | За замовчуванням, | ||
+ | Для отримання даних у вигляді **JSON-документу** просто додайте GET параметр **json=true**. | ||
+ | |||
+ | |||
+ | ====== Авторизація ====== | ||
+ | |||
+ | У випадку, | ||
+ | |||
+ | * **uberlogin** | ||
+ | * **uberpassword** | ||
+ | |||
+ | |||
+ | І як приклад авторизації користувача з логіном // | ||
+ | |||
+ | < | ||
+ | ? | ||
+ | </ | ||
+ | |||
+ | У разі помилки авторизації, | ||
+ | |||
+ | < | ||
+ | ERROR_WRONG_UBERAUTH | ||
+ | </ | ||
+ | |||
+ | з HTTP кодом 401 (починаючи з релізу Ubilling 1.2.7) | ||
+ | |||
+ | Примусова авторизація має пріоритет перед усіма стандартними типами авторизації, | ||
+ | |||
+ | Також ви можете автоматично авторизувати користувача у [[wolfdispatcher|вашому Telegram-боті]], | ||
+ | |||
+ | < | ||
+ | https:// | ||
+ | </ | ||
+ | |||
+ | Так, розділювач - символ " | ||
+ | |||
+ | ====== Трохи про " | ||
+ | Невелика порція рекомендацій, | ||
+ | * не треба вмикати XMLAgent " | ||
+ | * поточне REST API може працювати без авторизаці, | ||
+ | * не треба занадто самовпевнено думати, | ||
+ | * ніколи не відкривайте XMLAgent " | ||
+ | |||
+ | ====== Приклади запитів та відповідей ====== | ||
+ | |||
+ | ===== Загальні дані користувача ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Загальні дані користувача але з примусовою авторизацією ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Інформація про попередні платежі користувача ===== | ||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Платежі користувача, | ||
+ | |||
+ | < | ||
+ | \\ | ||
+ | |||
+ | ===== Списання коштів з рахунку користувача ===== | ||
+ | < | ||
+ | Цей виклик підтримує фільтрацію по даті **з - по**. Для цього треба передати відповідні параметри: | ||
+ | * **datefrom=2024-01-11** - дата **з** | ||
+ | * **dateto=2024-01-21** | ||
+ | Ці параметри абсолютно незалежні один від і одного і передавати можна будь-який з них окремо. Відповідно, | ||
+ | Також варто зазначити, | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Активні оголошення кабінету користувача ===== | ||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | <message unic=" | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Усі тікети користувача ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Створення support-тікету (тобто запиту в техпідтримку) ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | Так, ви все правильно здогадалися: | ||
+ | Цей запит повертає **created = success** та **ID** створеної support-заявки разі успіху або **created = error** та **ID = 0** у разі невдачі. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ==== Відповідь на support-тікет ==== | ||
+ | |||
+ | < | ||
+ | |||
+ | Все теж саме, що й у минулому запиті, | ||
+ | **Слід мати на увазі**, | ||
+ | Цей запит повертає **created = success** та **ID** створеної support-заявки разі успіху або **created = error** та **ID = 0** у разі невдачі. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Створення signup-тікету (тобто заявки на підключення)===== | ||
+ | |||
+ | < | ||
+ | **ВАЖЛИВО** \\ | ||
+ | Це єдиний на даний момент запит, який має відправлятися методом **POST** і " | ||
+ | <code json> | ||
+ | { | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Варто зазначити, | ||
+ | Цей запит повертає **created = success** та **ID** створеної заявки на підключення у разі успіху або **created = error** та **ID = 0** у разі невдачі. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Платіжні системи OpenPayz ===== | ||
+ | < | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Кредитування ===== | ||
+ | < | ||
+ | |||
+ | У разі успіху ми маємо отримати | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | У разі виникнення помилки, | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Або наприклад, | ||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Або як приклад, | ||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | Відповідь: | ||
+ | |||
+ | <code json> | ||
+ | {" | ||
+ | </ | ||
+ | |||
+ | Також ви можете здійснити перевірку " | ||
+ | |||
+ | < | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | Можливі коди помилок: | ||
+ | * 0 - все пройшло успішно (success) | ||
+ | * 1 - кредитування вимкнено конфігурацією (disabled) | ||
+ | * 2 - неприпустимий день для кредитування (wrong day) | ||
+ | * 3 - кредит вже встановлений (already have a credit) | ||
+ | * 4 - акаунт заморожений (account frozen) | ||
+ | * 5 - грошей на рахунку достатньо, | ||
+ | * 6 - занадто мало грошей на рахунку для того, щоб жити в кредит (not enough money) | ||
+ | * 7 - несподівана помилка (unexpected error) | ||
+ | * 8 - кредитування не доступне на поточному тарифі (not allowed on this tariff) | ||
+ | * 9 - вже користувалися кредитуванням у поточному місяці (already used in this month) | ||
+ | * 10 - не погасили попередній борг (not paid previous) | ||
+ | |||
+ | |||
+ | Починаючи з релізу Ubilling 1.2.0 набір полів, що повертаються на виклики **agentcredit** істотно розширено: | ||
+ | |||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | А саме крім результату в status і message з текстом того, що відбувається, | ||
+ | * fullmessage - повне повідомлення про успіх чи помилку в локалі кабінету за замовчуванням | ||
+ | * minday - початковий день можливості надання послуги кредитування | ||
+ | * maxday - кінцевий день можливості надання послуги кредитування | ||
+ | * creditterm - кількість днів на які буде надано кредит | ||
+ | * creditprice - вартість послуги кредитування | ||
+ | * currency - валюта кабінету користувача | ||
+ | * creditintro - короткий опис послуги в локалі кабінету за замовчуванням | ||
+ | \\ | ||
+ | |||
+ | ===== Картки поповнення ===== | ||
+ | |||
+ | < | ||
+ | |||
+ | Якщо все пройшло успішно: | ||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | У разі невдачі: | ||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Варто також зауважити, | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Асоційований з користувачем контрагент ===== | ||
+ | < | ||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Поточний тариф та всі віртуальні сервіси користувача ===== | ||
+ | < | ||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Тарифи, | ||
+ | < | ||
+ | Потребує ввімкненого функціоналу самостійної зміни тарифу в особистому кабінеті користувача. \\ | ||
+ | Так-так: | ||
+ | Виклик повертає дані опції **TC_TARIFFSALLOWED**, | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | |||
+ | ===== Всі поточні активні тарифи та віртуальні сервіси провайдеру ===== | ||
+ | < | ||
+ | Є важливий нюанс щодо цього виклику. Оскільки мова йде про " | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== XMLAgent вимкнено конфігурацією ===== | ||
+ | |||
+ | У цьому випадку ми отримуємо помилку вигляду | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Ввімкнення ====== | ||
+ | |||
+ | Потрібно включити відповідну опцію [[userstats|userstats.ini]] | ||
+ | |||
+ | <code ini> | ||
+ | | ||
+ | </ |