Webim Partner API 1.0
Скачайте документ Webim Partner API Documentation (English) на английском языке в формате Adobe PDF.
Доступ к API
Работа API осуществляется только по https. Для доступа используется email и пароль администратора (admin_password
).
Осуществляется basic авторизация таким образом:
curl -u adminemail@somedomain.com:admin_password https://{subdomain}.webim.ru/api/v1/partner/{request}
Где {subdomain}
— имя вашего аккаунта.
Все данные принимаются и возвращаются в кодировке UTF-8
.
Обработка ошибок
При ошибках авторизации возвращается HTTP код 401. Ошибки приходят в следующем виде:
{"error":"код-ошибки"}
Возможные типы ошибок представлены в таблице:
Код ошибки | Описание |
---|---|
no-tariff-option |
Аккаунт не имеет доступа к API |
no-partner-option |
Аккаунт не является партнерским |
argument-missing |
Не хватает аргументов в запросе |
wrong-price |
Сумма в запросе меньше рассчитанной |
wrong-period |
Период в запросе отличается от расчетного |
unauthorized |
Ошибка авторизации |
unknown |
Неизвестная ошибка |
wrong-partner |
При регистрации, когда попался существующий аккаунт, у которого существует партнер, отличный от Nethouse |
Запрос на создание аккаунта
Данные посылаются POST запросом на следующий адрес:
https://{subdomain}.webim.ru/api/v1/partner/install
Описание данных:
-
site
— адрес сайта клиента -
full_name
— имя администратора для создаваемого аккаунта -
email
— e-mail администратора для создаваемого аккаунта (служит логином) -
password
— пароль администратора для создаваемого аккаунта -
phone
— контактный телефон для создаваемого аккаунта
Ответ приходит в формате JSON:
{
"account_name": "имя созданного аккаунта",
"private_key": "приватный ключ для созданного аккаунта",
"status": "created"
}
Если аккаунт с данным e-mail уже существует и данные авторизации совпадают, то возвращается существующий аккаунт и в поле status
передаётся значение exists
.
Оплата периода использования
Данные посылаются POST запросом на следующий адрес:
https://{subdomain}.webim.ru/api/v1/partner/order
Описание данных:
-
account_name
— название аккаунта -
month_count
— длительность периода (количество месяцев) -
operators_count
— заказанное количество операторов -
tariff_key
— ключ тарифа -
partner_price
— сумма, которая будет использована во взаиморасчетах партнера и Webim. Должна формироваться на основеpartner_prices
из описания тарифов.
Ответ приходит в формате JSON:
{"result": "ok", "from": "2013-01-01", "to": "2013-02-01"}
-
"from": "2018-01-01"
— начало периода -
"to": "2018-02-01"
— окончание периода
Выдача тарифной сетки
GET запрос на адрес:
https://{subdomain}.webim.ru/api/v1/partner/tariffs
Ответ приходит в формате JSON.
Описание данных:
-
tariffs
— описание тарифов -
key
— ключ тарифа -
name
— название тарифа -
basic_prices
— базовые цены Webim в рублях -
base_price
— стоимость аккаунта с одним оператором -
per_operator_price
— стоимость дополнительных операторов -
partner_prices
— цены для партнера в рублях -
discounts
— размер скидки в процентах по заказанному периоду в месяцах
{
"tariffs": [{
"key": "start",
"name": "Начальный",
"description": "Что Вы получаете: базовый функционал обслуживания посетителей +...",
"public_prices": {
"base_price": 490,
"per_operator_price": 290
},
"partner_prices": {
"base_price": 343,
"per_operator_price": 203
}
}
],
"discounts": {
"1": 0,
"2": 0,
"3": 10,
"4": 10,
"5": 10,
"6": 15,
"7": 15,
"8": 15,
"9": 15,
"10": 15,
"11": 15,
"12": 20
}
}
Выдача кода кнопки
Запрос:
https://{subdomain}.webim.ru/api/v1/button-code
Возможный ответ:
<a class="webim_button" href="#" rel="webim"><img src="https://company.webim.ru/button.php" border="0" /></a>
<script type="text/javascript">
webim = {
accountName: "company",
domain: "company.webim.ru"
};
(function () {
var s = document.createElement("script");
s.type = "text/javascript";
s.src = "https://company.webim.ru/js/button.js";
document.getElementsByTagName("head")[0].appendChild(s);
})();
</script>