Интеграция электронной подписи SignNow на сайт

Руководитель интернет-магазина тратил до 2 часов на согласование договоров с клиентами — после интеграции с SignNow время сократилось до 5 минут. Подключение электронной подписи к сайту часто тормозится сложной настройкой JWT, SDK и длительных согласований. SignNow от airSlate выделяется простым RES

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

Это лишь некоторые из технических типов сайтов, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Интеграция электронной подписи SignNow на сайт
Средний
~3-5 дней

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1414
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1285
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    982
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1241
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    982
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Разработка веб-сайта для компании ФИКСПЕР
    994

Руководитель интернет-магазина тратил до 2 часов на согласование договоров с клиентами — после интеграции с SignNow время сократилось до 5 минут. Подключение электронной подписи к сайту часто тормозится сложной настройкой JWT, SDK и длительных согласований. SignNow от airSlate выделяется простым REST API и доступной ценой. Наша команда за время работы реализовала более 30 таких интеграций — от небольших интернет-магазинов до корпоративных порталов. Средняя экономия времени на подписание — до 70%. Свяжитесь с нами для консультации — мы подготовим решение под ваш проект.

Как SignNow снижает затраты на документооборот?

SignNow не требует покупки SDK и сложной инфраструктуры. Достаточно OAuth 2.0 и прямых REST-запросов. По данным официального REST API SignNow, система выдерживает до 1000 запросов в минуту — хватает для любого среднего бизнеса. Затраты на интеграцию окупаются за 2–3 месяца за счёт сокращения ручного труда. Сравните: ручное согласование договора в среднем занимает 2 часа, с SignNow — 5–10 минут.

Как настроить аутентификацию в SignNow?

SignNow использует OAuth 2.0 с грантом client_credentials для серверных интеграций. Это проще, чем у DocuSign — не нужен JWT или Legacy Header. Вот как мы получаем токен:

class SignNowAuthService { private string $baseUrl = 'https://api.signnow.com'; public function getToken(): string { $response = Http::withBasicAuth( config('services.signnow.client_id'), config('services.signnow.client_secret') )->asForm()->post("{$this->baseUrl}/oauth2/token", [ 'grant_type' => 'client_credentials', 'scope' => '*', ]); $token = $response->json('access_token'); Cache::put('signnow_token', $token, now()->addMinutes(55)); return $token; } public function token(): string { return Cache::get('signnow_token') ?? $this->getToken(); } } 

Токен живёт 3600 секунд, мы кешируем его с запасом в 5 минут. Для операций от имени конкретного пользователя используется Password Grant, но в большинстве кейсов достаточно client_credentials.

Загрузка документа и простановка полей

После аутентификации загружаем PDF (максимальный размер — 50 МБ) и добавляем поля подписей. SignNow поддерживает smart fields — если в PDF есть анкоры вида [[sig|req|signer1]], поля подписи ставятся автоматически. Это удобнее, чем вычислять координаты вручную.

class SignNowDocumentService { public function __construct(private SignNowAuthService $auth) {} public function uploadDocument(string $pdfPath, string $fileName): string { $response = Http::withToken($this->auth->token()) ->attach('file', file_get_contents($pdfPath), $fileName) ->post('https://api.signnow.com/document'); return $response->json('id'); } public function addSignatureFields(string $documentId, array $signers): void { $fields = []; $roleIndex = 0; foreach ($signers as $signer) { $fields[] = [ 'type' => 'signature', 'role' => $signer['role'] ?? "Signer {$roleIndex}", 'role_id' => (string)$roleIndex, 'required' => true, 'height' => 40, 'width' => 200, 'x' => 100, 'y' => 600, 'page_number' => 0, ]; $roleIndex++; } Http::withToken($this->auth->token()) ->put("https://api.signnow.com/document/{$documentId}", ['fields' => $fields]); } } 

Мы используем анкоры — это сокращает время интеграции и исключает ошибки позиционирования.

Как отправить документ на подпись и получить статус?

Для отправки приглашения подписантам используем метод invite. SignNow позволяет настроить напоминания и срок действия:

public function sendInvite(string $documentId, array $signers): string { $recipients = []; foreach ($signers as $index => $signer) { $recipients[] = [ 'email' => $signer['email'], 'role' => $signer['role'] ?? "Signer {$index}", 'role_id' => (string)$index, 'order' => $index + 1, 'reminder' => [ 'remind_before' => 0, 'remind_after' => 3, 'remind_repeat' => 2, ], 'expiration_days' => 30, 'subject' => 'Пожалуйста, подпишите документ', 'message' => "Здравствуйте, {$signer['name']}! Прошу вас подписать прикреплённый документ.", ]; } $response = Http::withToken($this->auth->token()) ->post("https://api.signnow.com/document/{$documentId}/invite", [ 'to' => $recipients, 'from' => config('services.signnow.sender_email'), ]); return $response->json('status'); } 

После подписания SignNow присылает вебхук. Мы регистрируем событие document.complete и обрабатываем его:

// Регистрация вебхука Http::withToken($this->auth->token()) ->post('https://api.signnow.com/api/v2/events', [ 'event' => 'document.complete', 'entity_id' => $documentId, 'action' => 'callback', 'callback_url' => route('webhooks.signnow'), ]); // Обработчик public function handleSignNowWebhook(Request $request): Response { $data = $request->json()->all(); if (($data['event'] ?? '') === 'document.complete') { $documentId = $data['meta']['document_id']; DownloadSignedDocumentJob::dispatch($documentId); } return response()->noContent(); } 

Embedded signing: подпись без перехода на SignNow

Если нужно, чтобы клиент подписал документ, не покидая ваш сайт, используем embedded signing — получаем ссылку (действует 60 минут) и встраиваем её в iframe.

public function getSigningLink(string $documentId, string $email): string { $response = Http::withToken($this->auth->token()) ->post("https://api.signnow.com/link", [ 'document_id' => $documentId, ]); return $response->json('url'); } 

Это работает для большинства браузеров, но требует обработки postMessage после завершения.

Почему стоит выбрать embedded signing?

Embedded signing исключает переходы на сторонний сервис — клиент остаётся на вашем сайте. Это повышает доверие и конверсию. Ссылка действительна 60 минут, после подписания отправляется postMessage, который ловит ваша страница. Если нужна более глубокая кастомизация, SignNow предоставляет возможность настроить цветовую схему iframe.

Сравнение SignNow и DocuSign

Критерий SignNow DocuSign
API Чистый REST, без обязательного SDK Есть SDK, но сложнее OAuth
Embedded signing Есть, но ограниченный UI Расширенный, с кастомизацией
Smart fields Анкоры в PDF Поддержка полей через API
Цена Дешевле для SMB Дороже, но больше функций
Хранение документов Нет фискального хранилища Есть встроенный аудит-трек

SignNow выгоднее для среднего бизнеса благодаря простоте API и ценообразованию. Средняя стоимость подписания одного документа в 2-3 раза ниже.

Типичные ошибки при интеграции

  1. Не кешировать токен — каждый запрос получает новый, что замедляет работу.
  2. Игнорировать вебхуки — без них не узнаете, когда документ подписан.
  3. Жёстко задавать координаты полей — лучше использовать анкоры.
  4. Не обрабатывать ошибки — SignNow возвращает 401 при просрочке токена, 404 при удалённом документе.

Этапы нашей работы

Этап Длительность Результат
Анализ 1 день Спецификация интеграции
Настройка OAuth 0.5 дня Рабочий токен с кешированием
Загрузка и поля 1 день Загрузка PDF, smart fields
Отправка и вебхуки 0.5 дня Приглашения, обработка событий
Embedded signing (если нужно) 1 день Iframe с подписью
Тестирование 0.5 дня Отладка, обработка ошибок

Что входит в нашу работу по интеграции

  • Настройка OAuth и кеширования токенов
  • Реализация загрузки документов и добавления smart fields
  • Разработка механизма отправки invites и обработки вебхуков
  • Интеграция embedded signing (если требуется)
  • Написание тестов и документации

Сроки: базовая интеграция — 2–3 рабочих дня, с embedded signing — 3–4 дня. Стоимость рассчитывается индивидуально.

Получите консультацию — оценим ваш проект и предложим решение под ключ. Опыт нашей команды — десятки интеграций электронной подписи. Гарантируем надёжность и соблюдение сроков. Свяжитесь с нами — мы подготовим коммерческое предложение за один день.