Интеграция с сайтом
Иерархия: | BILLmanager -> Интеграция |
BILLmanager Corporate -> Интеграция |
Если вам необходимо более гибкое решение чем Витрина, то вы можете интегрировать 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.
Регистрация клиента
Если клиент переадресуется в биллинг для регистрации, то клиента необходимо перенаправлять на 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"