OAuth/OIDC для единого входа, вебхуки для событий документов и SCIM-провижининг пользователей. Готовые SDK и демо-консоль. Всё — в нежном фирменном стиле.
Готовые рецепты интеграции на продвинутые кейсы.
Сервер-к-серверу. Получаете статус документа и основные поля.
curl -s https://api.pawid.ru/v1/verify?id=PAW-9X3M-7K2Q \
-H "Authorization: Bearer <SANDBOX_TOKEN>"
Отдаёте пользователя в SSO Gateway и получаете id_token.
https://accounts.pawid.ru/oauth/authorize?
client_id=YOUR_ID&redirect_uri=https://app.example.com/callback&
response_type=code&scope=openid%20email%20profile
Мы POST’им события: verified/revoked/created и т.д.
POST https://your.app/webhooks/gar
Headers: X-GAR-Signature: t=1699999999,s=HMAC_SHA256...
Body: { "type":"document.verified","data":{"id":"PAW-9X3M-7K2Q"} }
Единый вход через GAR Accounts и внешних провайдеров (Google/Apple/Telegram/VK/Яндекс).
/oauth/authorize
/oauth/token
/.well-known/jwks.json
/oauth/userinfo
# 1) Получить code через /oauth/authorize (редирект пользователя)
# 2) Обменять на токены:
curl -s https://accounts.pawid.ru/oauth/token \
-d grant_type=authorization_code \
-d code=RECEIVED_CODE \
-d redirect_uri=https://app.example.com/callback \
-u YOUR_CLIENT_ID:YOUR_CLIENT_SECRET
Поддерживаем линкование входа пользователя к провайдерам (через SSO Gateway): Google, Apple, Telegram, VK, Яндекс.
Реальные значения настраиваются в кабинете разработчика. Для тестов используйте Sandbox-клиент.
Подпись HMAC-SHA256 в заголовке X-GAR-Signature
. Рекомендуем подтверждать 2xx.
POST https://your.app/webhooks/gar
X-GAR-Signature: t=1700000000,s=HMAC_SHA256_HEX
{
"id":"evt_123",
"type":"document.verified",
"created":1700000000,
"data":{"id":"PAW-9X3M-7K2Q"}
}
// Node 18+ (crypto)
import { createHmac } from 'crypto';
function verify(sigHeader, raw, secret){
const {t,s}=Object.fromEntries(sigHeader.split(',').map(x=>x.split('=')));
const h=createHmac('sha256', secret).update(t+'.'+raw).digest('hex');
return h===s;
}
Поддержка SCIM v2 для организаций: Users и Groups.
POST /scim/v2/Users
PATCH /scim/v2/Users/{id}
GET /scim/v2/Users?filter=...
POST /scim/v2/Groups
curl -X POST https://api.pawid.ru/scim/v2/Users \
-H "Authorization: Bearer <SCIM_TOKEN>" \
-H "Content-Type: application/scim+json" \
-d '{"userName":"ivan@org.ru","name":{"givenName":"Ivan","familyName":"Petrov"}}'
Наборы прав согласуются при подключении организации.
Запрос на доступ + мини-консоль для тестового запроса.
{ "status":"verified","id":"PAW-9X3M-7K2Q","hash":"e3b0c4..." }
В демо-запросе используем локальные данные. Для реального вызова нужен доступ к API и CORS-разрешение.
t + '.' + raw_body
секретом вашего endpoint.PAW-9X3M-7K2Q
, PED-2025-001234
, MET-778899
.Подайте заявку на Sandbox, подключите SSO и вебхуки — и запуститесь за пару спринтов.