Попробовать демо-версию
Попробовать демо-версию

Документация Webim Partner API

Adobe PDF Скачайте документ «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 — контактный телефон для создаваемого аккаунта
  • crc = md5(email + fullname + password + phone + site + private_key) — контрольная сумма из полей и вашего private_key в заданном порядке

Ответ приходит в формате 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.Ru. Должна формироваться на основе partner_prices из описания тарифов.

Ответ приходит в формате JSON:

{"result": "ok", "from": "2013-01-01", "to": "2013-02-01"}
  • from — ‘2013-01-01’ начало периода
  • to — ‘2013-02-01’ окончание периода

ВЫДАЧА ТАРИФНОЙ СЕТКИ

GET запрос на адрес:

https://{subdomain}.webim.ru/api/v1/partner/tariffs

Ответ приходит в формате JSON.

Описание данных:

  • tariffs — описание тарифов
    • key — ключ тарифа
    • name — название тарифа
    • basic_prices — базовые цены webim.ru в рублях
      • base_price — стоимость аккаунта с одним оператором
      • per_operator_price — стоимость дополнительных операторов
    • partner_prices — цены для партнёра в рублях
  • discounts — размер скидки в процентах по заказанному периоду в месяцах
{
    "tariffs": [{
        "key": "start",
        "name": "Начальный",
        "description": "Что Вы получаете:\n+ базовый функционал обслуживания посетителей;\n+ показ до 50 посетителей сайта;\n+ работа с отделами;\n+ настройка цветов диалога;\n+ статистика работы операторов;\n+ хранение истории сообщений без ограничений по времени.",
        "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" rel="webim"><img src="https://demo.webim.ru/webim/button.php" alt="" border="0" /></a>

<script type="text/javascript">
    webim = {
        accountName: "demo",
        domain: "demo.webim.ru"   
    };
    (function () {
        var s = document.createElement("script");
        s.type = "text/javascript";
        s.src = "https://demo.webim.ru/webim/js/button.js";
        document.getElementsByTagName("head")[0].appendChild(s);
    })();
</script>