Интеграция с сайтом

Материал из ISPWiki
Перейти к: навигация, поиск

Если вам необходимо более гибкое решение чем Витрина, то вы можете интегрировать BILLmanager со своим сайтом на более низком уровне. Общаясь с биллингом по API. В статье описаны некоторые сценарии использования и способы их реализации.

Общая информация

Все запросы выполняются к API BILLmanager по стандартному протоколу. Ответ можно получить в виде XML или JSON. Для этого к каждому запросу добавьте &out=xml, &out=json или &out=sjson, в зависмости от небходимого формата.

DOMAIN - доменное имя сервера с BILLmanager
PRICELIST_ID - Id тарифного плана.
ADDON_ID - Id дополнения к тарифному плану.
PERIOD_ID - Идентификатор периода оплаты. Если больше нуля, значит длинна периода в месяцах. -100 - триальный; -50 - день; 0 - вечный;
ITEM_id - Id услуги
ACCOUNT_ID -Id клиента
PARTNER_ID - Id реферала.
COUNTRY_ID - Id страны из справочника "страны"
PROJECT_ID - Id провайдера. В дистрибутивах младше Corporate = 1

По умолчанию стобец Id скрыт в большинстве списков. Чтобы его включить нажмите "Настроить вид таблицы" и включите отображение колонки Id.

Для интеграции создайте нового сотрудника. В правах разрешите только необходимые функции. Если запрос необходимо выполнять от имени сотрудника, в запросе будет указано AUTHIТFO_ADMIN.

Table view.png

Регистрация клиента

Если клиент переадресуется в биллинг для регистрации, то клиента необходимо перенаправлять на URL:

https://DOMAIN/billmgr?func=register

На форме редактирования тарифа есть ссылки для заказа с регистрацией на конкретный тариф или тип продукта. Воспользуйтесь ими.

Если клиент уже авторизован, он будет перенаправлен на заказ услуги.

Если регистрация клиента производится на сайте, без перехода в BILLmanager:

https://DOMAIN/billmgr?func=register&email=mail@example.com&passwd=q1w2e3&realname=Jonh Smith&country=COUNTRY_ID&project=PROJECT_ID&partner=PARTNER_ID&sesid=ses_123&sok=ok
  • email - Это будет логин и E-mail нового клиента.
  • passwd - пароль
  • realname - ФИО клиента
  • partner - Если используется реферальная программа, то сайт должен запоминать PARTNER_ID если клиент пришел по реферальной ссылке. Обычно этот параметр сохраняют в cookies.
  • sesid - Если используется реферальная программа. Идентификатор клика.

Информация от тарифах

https://DOMAIN/billmgr?func=pricelist.export

функция возвращает стоимость тарифов и дополнений в выбранном формате.

Параметры:

  • elid=PROJECT_ID - Id провайдера в BILLmanager.
  • onlyavailable - выводить только доступные для заказа тарифные планы.
  • pricelist - Id тарифов через запятую, указывается только если нужно получить данные не всех тарифов
  • addonitemtype - Id типов продуктов дополнений к тарифным планам, указывается, если в выводе нужны не все дополнения
  • itemtype - Id типа продукта тарифов, которые нужно вывести, указывается только если нужны тарифы только определенного типа
  • exclude_pricelist - Id тарифов через запятую, которые нужно исключить из вывода функции
  • othercurrency - ISO код валюты, в которую нужно пересчитать цены тарифов и дополнений, если вдруг нужен дополнительный вывод в валюте отличной от валюты провайдера. Пересчет идет по текущему курсу в BILLmanager.

Рассчет стоимости заказа

Запрос позволяет выдать стоимость одной услуги определенного тарифа, с определенными дополнениями.

https://DOMAIN/billmgr?func=pricelist.calculate&pricelist=PRICELIST_ID&period=PERIOD_ID&addon_XXX=VALUE
  • addon_XXX=VALUE - дополнительные заказанные услуги в рамках тарифа. XXX - Id дополнения к тарифному плану, ADDON_ID.

Проверить текущую авторизацию клиента, получить логин и ФИО

https://DOMAIN/billmgr?func=whoami

Авторизация

 https://DOMAIN/billmgr?username=user@example.com&password=q1w2e3&lang=ru&project=PROJECT_ID&func=auth

Дополнительная информация

Возможно использовать callback для json. Пример:

https://DOMAIN/billmgr?callback=JSON_CALLBACK&username=" + user.login + "&password=" + user.password + "&lang=ru&project=2&func=auth&out=json"