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

Помимо интеграции по API платформа Seeneco также позволяет интегрировать отдельные компоненты – виджеты(widget) в виде готовых элементов пользовательского интерфейса на внешний web ресурс.
Что такое виджет для пользователя?
Для пользователя виджет – это часть того сайта, с которым он работает. Например, интернет-магазина, онлайн бухгалтерии и т.д. которые в своей работе используют функции платформы Seeneco
Какие есть виджеты?
Пока для интеграции доступен только один виджет
  • Виджет выставления счета на оплату
Но мы работаем над расширением состава необходимых вам виджетов и готовы услышать ваши пожелания по адресу developer@seeneco.ru
Как виджет реализован технически?
Каждый виджет – это технически Javascript сценарий, встраиваемый на web-страницу сайта заказчика Каждый виджет представлен в виде визуального компонента, c которым работает пользователь и который можно отобразить в произвольном контейнере на web-странице. При работе с Seeneco виджет использует REST API описанный в разделе “Список операций”. Пример встройки виджета в веб-страницу можно посмотреть в документации на конкретный виджет
Как происходит аутентификация при работе виджета с сервисами Seeneco?
Для аутентификации вызова API при работе в промышленном режиме вызов от виджета вначале направляется на сервер, на котором расположена веб страница. На веб сервере в HTTP запрос добавляется токен доступа к API (см. раздел Аутентификация), после чего запрос по защищенному каналу направляется на сервер Seeneco, где выполняется его обработка. Такой порядок работы обеспечивает сохранность токена и отсутствие риска его перехвата злоумышленником.
Могу ли я изменить внешний вид или логику работы виджета
Да. Вы можете скачать исходный код виджета и изменить его в соответствии со своими предпочтениями. Но при этом компания Seeneco не несёт ответственности за последствия такого использования.

Виджет “Выставление счета на оплату”

Виджет “Выставление счета на оплату” предназначен для того чтобы ваши клиенты смогли пользуясь вашим сайтом выставить себе счёт на оплату ваших услуг в 1 клик. Счёт, выставленный клиентом отобразится в Личном кабинете мерчанта и вы сможете контролировать оплату по счёту в онлайн-режиме.

Как выглядит виджет

Схема процесса работы с виджетом

Где скачать виджет

Дистрибутивный комплект виджета вы можете скачать по следующей ссылке

Встройка виджета

Что нужно сделать перед тем как встроить виджет
  • Зарегистрируйтесь в сервисе Seeneco
  • Добавьте в сервисе тестовый счёт, по шаблону которого будут создаваться все остальные счета. Инструкция по добавлению счета в сервисе доступна здесь здесь
    В рамках этого процесса будет выполнено следующее
    • Добавлена в сервис компания в список своих организаций
    • Добавлен банковский счёт компании, который будет указан в счете на оплату
    • Добавлен сотрудник, который будет указан в счете, в качестве лица, подписывающего счёт
    • Добавлен логотип, подпись и печать компании, отображаемая на счете

Как настроить виджет

Вся настройка виджета производится через конфигурационный файл, входящий в дистрибутив. Пример файла, приведен ниже
{
"TestMode": false,
"TestToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkZW1vIiwiaXNzIjoiaHR0cHM6Ly90ZXN0LnNlZW5lY28uY29tIiwiYXBpX3Vzcl9pZCI6MjQ4MDcyLCJleHAiOjE1NDI4Mjc3MjYsImlhdCI6MTUxMTI5MTcyNn0.7oiDIef1PZ_vbS1brWCO_mSFdF_xWsQIBbtND2-kdlw",
"APIEndpoint": "https://merchant.server.ru/snc-core-services/api/v2/invoices",
"LegalEntity": {
    "Name": "Общество с ограниченной ответственностью \"Победа\"",
    "TaxCode": "7715962930",
    "AdditionalTaxCode": "123123123"
},
"LegalEntityAccount": {
    "AccountNumber": "40702810801300004311",
    "BankName": "ЗАПАДНО-СИБИРСКИЙ БАНК ПАО СБЕРБАНК",
    "BankBIC": "047102651"
},
"SignEmployee": {
    "Name": "Иванов"
},
"SignImageURL": "./sign.png",
"EmailData": {
    "From": "test@seeneco.ru",
    "MailMessage": "Тестовое Сообщение"
}
}
Ниже приведено описание параметров файла.
Параметр Описание
TestMode Отвечает за переключение виджета в тестовый режим, в котором API токен передается напрямую из виджета в Seeneco, не используя сервер сайта, в который встраивается виджет. ОБЯЗАТЕЛЬНО отключите этот режим (значение false) перед установкой в режим промышленной эксплуатации.
TestToken Значение токена, передаваемого в тестовм режиме. Подробнее см. раздел Аутентификация
APIEndpoint URL на который будет отправляться запрос от виджета при нажатии на кнопку “Выставить счет”
LegalEntity Реквизиты компании, которая выставила счет, состоящие из следущих полей
  • Name – полное наименование компании
  • TaxCode – ИНН компании
  • AdditionalTaxCode – КПП компании
Эти реквизиты будут отображаться в виджете в разделе о компании получателе.
LegalEntityAccount Реквизиты счета компании, на который должны быть переведены средства по оплате счета
  • AccountNumber – полное наименование компании
  • BankName – наименование банка, в коором открыт счет
  • BankBIC – БИК банка в котором открыт счет
Эти реквизиты будут отображаться в виджете в разделе о компании получателе.
SignImageURL URL изображения, содержащего печать компании. Это изображение будет выводиться в виджете счета.
EmailData Данные для формирования письма со счетом, которое будет отправлено покупателю
  • From – Адрес компании отравителя, включаемый в почтовое сообщение
  • MailMessage – необязательный текст сопроводительного письма
Как встроить виджет в веб-страницу
  • Скачайте дистрибутив виджета с сайта и установите его на ваш web-сервер или укажите ссылку на виджет на странице вашего сайта
  • Инициализируйте виджет при помощи следующего JavaScript кода var widget = new SeenecoInvoiceWidget();
  • Инициализируйте настройки виджета, которые будут неизменны для всех выставляемых счетов
  • Перед отображением виджета установите перечень товаров и услуг, которые оплачивает клиент
  • Укажите реквизиты клиента – Наименование компании и ИНН
  • Для отображения виджета выполните команду render() передав ей ID контейнера, в котором должен отобразиться виджет
Пример кода встройки виджета в HTML секции script
var widget = new SeenecoInvoiceWidget();
widget.loadConfig('./seeneco-invoice-widget.config.json');
widget.setItems([
{
    Description: 'Бумага Xerox Performer А4',
    ItemPrice: 230,
    ItemTaxRate: 0.18,
    Qty: 2
},
{
    Description: 'Бумага Xerox Performer А4',
    ItemPrice: 230,
    ItemTaxRate: 0.18,
    Qty: 1
}
]);

widget.setCounterparty({
Name: 'ООО «Контерпарти»',
TaxCode: '88888888',
Email: 'bill@gmail.com'
});

widget.setInvoice({
RequiredPaymentDate: '31-01-2018',
DateIssued: '01-01-2018',
Number: '456',
Description: 'Счёт за услуги предоставления связи по договору ГПХ-3215 за период Октябрь 2017'
});

widget.render({
selector: '#seeneco',
other: {
    SignImageURL: './sign.png'
}
});
            
Как проверить работу виджета в тестовом режиме
Для проверки работы виджета в тестовом режиме можно не настраивать обработку запроса от виджета на вашем сервере. Запросите доступ к тестовому стенду Seeneco написав нам письмо по адресу developer@seeneco.ru. Мы создадим для вас тестовый аккаунт и сгенерируем для него ключ. В настройках виджета (файле seeneco-invoice-widget-config.json) укажите
  • Параметр "TestMode": true
  • В значении параметра TestToken укажите строку токена из Личного кабинета тестового аккаунта в Seeneco, полученного в ответе на письмо от developer@seeneco.ru
  • В качестве значения параметра APIEndpoint укажите адрес API «Выставить счёт» тестового сервиса Seeneco https://test.seeneco.com/snc-core-services/api/v2/invoices
Как перевести виджет в режим промышленной эксплуатации
Для перевода виджета в режим промышленной эксплуатации необходимо реализовать хранение и передачу в Seeneco токена с вашего сайта. Для этого вам необходимо сделать следующее В настройках виджета (файле seeneco-invoice-widget-config.json) укажите
  • Параметр "TestMode": false
  • В качестве значения параметра APIEndpoint укажите адрес вашего сервера – того URL на который будут приходить POST запросы от виджета, например https://your-server.com/invoice-proxy
Далее по указанному адресу вам необходимо реализовать обработчик, который будет добавлять в заголовок получаемого запроса заголовок Authorization со значением Bearer Значение_Access_Token. Пример кода обработчика, реализованного на языке программирования PHP
<? 
$token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkZW1vIiwiaXNzIjoiaHR0cHM6Ly90ZXN0LnNlZW5lY28uY29tIiwiYXBpX3Vzcl9pZCI6MjQ4MDcyLCJleHAiOjE1NDI4Mjc3MjYsImlhdCI6MTUxMTI5MTcyNn0.7oiDIef1PZ_vbS1brWCO_mSFdF_xWsQIBbtND2-kdlw';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, 'https://test.seeneco.com/snc-core-services/api/v2/invoices');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($_POST));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer '.$token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);

curl_close($ch);

var_dump($response);
?>
            
Полученный POST запрос ваш сервер должен передавать в Seeneco по адресу https://seeneco.com/snc-core-services/api/v2/invoices

Регистрация

или зарегистрироваться с помощью

7 дней полного доступа + персональный консультат.