Перейти к основному содержимому
Certyneo
API REST — eIDAS

API электронной подписи для разработчиков

Встройте электронную подпись eIDAS в своё приложение: REST API, вебхуки с подписью HMAC, встроенное подписание в iframe и бесплатные тестовые ключи уже на бесплатном аккаунте.

Бесплатные тестовые ключи · SLA 99,9 % (Business и Enterprise) · Хостинг в ЕС

REST + спецификация OpenAPI

Предсказуемые эндпоинты, чистый JSON, стандартные HTTP-коды. Спецификацию OpenAPI можно скачать и сгенерировать по ней собственные клиенты.

Надежные веб-буки

5 попыток с нарастающими интервалами, подпись HMAC SHA-256, неудавшиеся события можно повторно отправить из панели управления. Писать polling не нужно.

Соответствие eIDAS-коренному

Простая, усиленная (SMS-код OTP) и квалифицированная подпись — уровень выбирается для каждого конверта полем signatureLevel. К каждому подписанному документу прилагается журнал аудита с метками времени.

Хостинг в ЕС

Серверы в Германии, Франции и Испании. Опубликованные лимиты запросов для каждого тарифа и заголовки X-RateLimit в каждом ответе. SLA 99,9 % на тарифах Business и Enterprise.

Старт за три запроса

Загрузите PDF, создайте конверт, отправьте его: достаточно трёх HTTP-запросов.

cURL — загрузить, создать, отправить
# 1. Upload the PDF
curl https://certyneo.com/api/v1/documents \
  -H "Authorization: Bearer $CERTYNEO_API_KEY" \
  -F "file=@contrat.pdf"
# → { "id": "cm8doc...", "status": "READY", ... }

# 2. Create the envelope (draft)
curl https://certyneo.com/api/v1/envelopes \
  -H "Authorization: Bearer $CERTYNEO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "subject": "Contrat de prestation",
    "documentIds": ["cm8doc..."],
    "recipients": [{ "email": "client@example.com", "name": "Jane Doe" }]
  }'
# → { "id": "cm8env...", "status": "DRAFT", ... }

# 3. Send the invitations
curl -X POST https://certyneo.com/api/v1/envelopes/cm8env.../send \
  -H "Authorization: Bearer $CERTYNEO_API_KEY"

POST /documents возвращает идентификатор PDF, POST /envelopes создаёт черновик с подписантами, затем POST /envelopes/:id/send рассылает приглашения. Дальше ход процесса приходит через вебхук.

Node.js — встроенный fetch, без зависимостей
// Node 18+ — native fetch, no dependency
import { readFile } from "node:fs/promises";

const API = "https://certyneo.com/api/v1";
const auth = { Authorization: `Bearer ${process.env.CERTYNEO_API_KEY}` };

// 1. Upload the PDF
const form = new FormData();
const pdf = new Blob([await readFile("contrat.pdf")], { type: "application/pdf" });
form.append("file", pdf, "contrat.pdf");
const doc = await (await fetch(`${API}/documents`, { method: "POST", headers: auth, body: form })).json();

// 2. Create the envelope (draft)
const envelope = await (await fetch(`${API}/envelopes`, {
  method: "POST",
  headers: { ...auth, "Content-Type": "application/json" },
  body: JSON.stringify({
    subject: "Contrat de prestation",
    documentIds: [doc.id],
    recipients: [{ email: "client@example.com", name: "Jane Doe" }],
  }),
})).json();

// 3. Send the invitations
await fetch(`${API}/envelopes/${envelope.id}/send`, { method: "POST", headers: auth });

SDK не нужен: API вызывается встроенным fetch из Node 18 или любым HTTP-клиентом. По спецификации OpenAPI также можно сгенерировать типизированный клиент на вашем языке.

Веб-хоки реагируйте в режиме реального времени

События конверта и получателя, проверяемая подпись HMAC и автоматическое повторное отправление.

envelope.completed
{
  "id": "cm8f2h6a10004qr9k5p2wm3xt",
  "event": "envelope.completed",
  "data": {
    "envelopeId": "cm7x2k9p40001qz8h3f7bn2ld",
    "subject": "Contrat de prestation",
    "status": "COMPLETED",
    "completedAt": "2026-09-26T08:42:13.000Z",
    "recipientCount": 1,
    "recipients": [
      { "email": "client@example.com", "name": "Jane Doe", "role": "SIGNER", "status": "SIGNED" }
    ],
    "signedDocumentUrl": "https://storage.certyneo.com/signed/...pdf?X-Amz-Expires=604800&..."
  },
  "timestamp": "2026-09-26T08:42:13.521Z"
}
  • Подпись HMAC SHA-256 каждой полезной нагрузки проверьте на серверной стороне.
  • Автоматический повтор при временном сбое: 5 попыток примерно за 1 ч 20 мин с экспоненциальной задержкой.
  • Неудавшиеся события отображаются в панели управления, и их можно повторить одним кликом. После 5 неудач подряд эндпоинт приостанавливается, и вы получаете уведомление.
  • До 5 эндпоинтов на тарифе Standard, 15 на Business и 50 на Business Pro, каждый подписан на выбранные вами события.

Зачем нужен специальный интерфейс для электронной подписи?

Внедрение электронной подписи в продукт не просто. Вам нужны гарантии юридической соответствия (eIDAS), техническая надежность (вебхуки, которые действительно приходят), и суверенитет данных (европейский хостинг, чтобы избежать Cloud Act).

API создан разработчиками для разработчиков и следует соглашениям REST: версия в URL (/api/v1), пагинация параметрами page и limit, ошибки в JSON с машиночитаемым кодом, спецификация OpenAPI для генерации клиентов. Никакого SOAP, никакого XML, никаких сюрпризов.

Соответствие eIDAS объяснено для разработчиков

Регламент eIDAS определяет три уровня подписи: простую (SES), усиленную (AES) и квалифицированную (QES). API Certyneo позволяет выбрать уровень каждого конверта полем signatureLevel: SIMPLE (по умолчанию), ADVANCED или QUALIFIED. Простой подписи достаточно для большинства обычных коммерческих договоров; QES нужна, когда закон или получатель требует равнозначности собственноручной подписи.

Технически усиленный уровень автоматически включает SMS-код OTP и требует номер телефона для каждого подписанта. Журнал аудита снабжается метками времени по стандарту RFC 3161. QES опирается на квалифицированный сертификат, выданный квалифицированным поставщиком доверительных услуг из ЕС. Всё управляется через API.

Рекомендуемая архитектура интеграции

Наиболее распространенная модель интеграции следующая:

  • Ваш бэкенд загружает PDF (POST /api/v1/documents), создаёт конверт-черновик (POST /api/v1/envelopes), затем отправляет его (POST /api/v1/envelopes/:id/send).
  • Подписант получает приглашение по электронной почте или подписывает прямо в вашем интерфейсе благодаря встроенному подписанию в iframe (POST /api/v1/envelopes/:id/embed-url, начиная с тарифа Standard).
  • После завершения подписи Certyneo вызовет ваш веб-хоу с событием envelope.completed.
  • Вы обновляете базу данных и уведомляете пользователя (электронная почта, приложение и т.д.).

Бесплатные тестовые ключи

Ключи sk_test_ доступны на всех тарифах, включая Бесплатный, а тестовые конверты не расходуют ваш месячный лимит. На тарифе Бесплатный их можно отправлять только на ваш собственный адрес электронной почты, и они ограничены 20 запросами в час; платные тарифы дают от 200 до 1 000 запросов в час. Тестовые данные удаляются через 30 дней. Первый тестовый ключ бесплатного аккаунта к тому же открывает месяц тарифа Standard в подарок.

А что если вы не хотите писать код

Все, что делает этот API, также можно управлять без написания ни одной строки из потока: создать конверт, отправить его, реагировать на подпись, получить запечатанный PDF и его журнал аудита. Одна и та же база с визуальным дизайнером вместо HTTP-клиента. Смотрите интеграцию Power Automate и Microsoft 365.

Мигрировать из DocuSign или Yousign

Если у вас уже есть интеграция с DocuSign или Yousign, словарь похож: envelopes → envelopes, recipients → recipients, вебхуки статуса → webhooks. Руководство по миграции с DocuSign и Yousign на Certyneo описывает все шаги — от экспорта шаблонов до переключения вебхуков.

Вы переходите с Adobe Acrobat Sign (ранее EchoSign, затем Adobe Sign) ? Соответствие столь же прямое — agreements → envelopes, participants → recipients, webhooks → webhooks. Сравнить Certyneo и Adobe Acrobat Sign →

Цена API электронной подписи: где купить подписку?

Чтобы купить подписку на API подписи, не нужны ни смета, ни заказ на поставку: тестовые ключи бесплатны, API-ключ создаётся в панели управления, а доступ к продакшен REST API включён уже в тариф Standard за 19 €/мес — вебхуки включены, без оплаты за каждую простую подпись.

  • Standard — 19 €/мес: 100 конвертов/мес, REST API + webhooks, 10 пользователей
  • Business — 39 €/мес: 300 конвертов/мес, массовая рассылка, веб-формы
  • Business Pro — 99 €/мес: 1000 конвертов/мес, API высокой частоты (300 запр/мин), неограниченное количество пользователей

Квалифицированная подпись (QES) оплачивается поштучно в момент отправки: 9,90 € за подпись при подписке — списываются с сохранённой в аккаунте карты после исчерпания QES, включённых в Business и Business Pro, — и 14,90 € без подписки.

Для больших объёмов или потребности в договорном обязательстве (SLA, выделенный DPA, годовая выставление счётов), план Enterprise приобретается у коммерческой команды. В любом случае цены являются публичными — сравните их перед тем как вы обязываетесь.

Узнать больше

Проверка вопросов API

Каков предел пробела API?

Лимит применяется к каждому ключу, в минуту, в зависимости от тарифа: 60 запросов на Standard, 120 на Business, 300 на Business Pro и 1 000 на Enterprise. Каждый ответ содержит заголовки X-RateLimit-Limit, X-RateLimit-Remaining и X-RateLimit-Reset; при превышении API возвращает 429 с заголовком Retry-After.

Сколько стоит API?

Тестовые ключи (sk_test_) бесплатны на всех тарифах. Доступ к продакшен REST API включён уже в тариф Standard за 19 €/мес (100 конвертов/мес), затем Business за 39 €/мес и Business Pro за 99 €/мес с растущими квотами; квалифицированная подпись (QES) оплачивается поштучно, 9,90 € при подписке. Для больших объёмов тариф Enterprise оформляется через отдел продаж.

Есть ли СЛЗ?

Да: 99,9 % доступности в месяц на тарифах Business и Enterprise, с кредитом на счёт от 10 до 50 % в зависимости от фактического отклонения. Состояние сервиса постоянно публикуется на странице статуса Certyneo.

Какую аутентификацию вы используете?

API-ключ в заголовке Authorization (Bearer sk_live_… или sk_test_…). Ключи создаются и отзываются в панели управления, с немедленным эффектом. Для стороннего приложения, действующего от имени ваших пользователей, доступен OAuth 2.0 с потоком authorization code и PKCE.

Как проверить HMAC-сигнатуру вебхука?

Каждый вебхук несёт заголовок подписи X-Certyneo-Signature: HMAC SHA-256 в шестнадцатеричном виде от сырого тела запроса, вычисленный с секретом вашего эндпоинта. Пересчитайте его на сервере по неизменённому телу и сравните за постоянное время (crypto.timingSafeEqual в Node, hmac.compare_digest в Python).

Есть ли официальный SDK?

Пока не опубликован. API вызывается напрямую по HTTP из любого языка, а по спецификации OpenAPI можно сгенерировать типизированный клиент с помощью openapi-generator или аналогичного инструмента. Без кода Certyneo также доступен в Make, n8n, Postman и RapidAPI.

Можно ли протестировать бесплатно?

Да: создайте бесплатный аккаунт и сгенерируйте ключ sk_test_ в панели управления. Первый тестовый ключ бесплатного аккаунта также открывает месяц тарифа Standard в подарок. Коллекция Postman позволяет выполнить первые запросы, не написав ни строчки кода.

Сколько стоит API EchoSign (ставший Adobe Acrobat Sign)?

EchoSign был куплен компанией Adobe в 2011 году и переименован в Adobe Sign, затем в Adobe Acrobat Sign: API по-прежнему существует, но его цена не публикуется и определяется корпоративным коммерческим предложением от отдела продаж Adobe, обычно пакетами годовых транзакций. Certyneo, напротив, публикует свои цены: продакшен-доступ к API включён уже в тариф Standard за 19 €/мес, оформляется онлайн без сметы, а бесплатные тестовые ключи позволяют оценить API до оплаты.

Готовы к интеграции электронной подписи?

Бесплатные тестовые ключи, спецификация OpenAPI, подписанные вебхуки. Начните прямо сейчас.