/health.phpСостояние API
Проверяет готовность runtime, конфигурации, storage и базы данных без раскрытия внутренних сведений.
Единый JSON API независимого реестра. Здесь опубликованы только пользовательские операции и документация официального процедурного PHP SDK. Административные функции не раскрываются в публичном каталоге.
Все API-операции принимают и возвращают JSON. Каждый ответ содержит HTTP status, шестизначный result_code и обязательный request_id.
{
"success": true,
"http_code": 200,
"result_code": "010013",
"message": "Данные текущего пользователя загружены.",
"data": {},
"errors": [],
"meta": { "request_id": "...", "timestamp": "..." }
}Base URL: https://api.ordoo.ru. Пользовательский access token передается в Authorization: Bearer.
/health.phpПроверяет готовность runtime, конфигурации, storage и базы данных без раскрытия внутренних сведений.
/v1/email/verify.phpПогашает одноразовый token и подтверждает основной email.
token — строка из защищённой ссылки/v1/email/marketingOptOut.phpИдемпотентно отключает только маркетинговые письма, не затрагивая транзакционные.
/v1/api-key/create.phpСоздает ключ подтвержденной организации. Полное значение возвращается один раз, в БД хранится только SHA-256 hash.
organization_id — публичный IDname — название ключаpermissions — document.webhook.createip_rules — до 32 IP/CIDRrate_limit_per_minute — 1–10000expires_at — необязательная будущая датаconfirm — true/v1/api-key/list.phpВозвращает только безопасные metadata, prefix, permissions, IP и статус без raw/hash.
organization_id — публичный ID в query/v1/api-key/suspend.phpПриостанавливает ключ с обязательной причиной.
organization_id — публичный IDid — ID ключаreason — причинаconfirm — true/v1/api-key/resume.phpВозобновляет неистекший и неотозванный ключ.
organization_id — публичный IDid — ID ключаreason — необязательная причинаconfirm — true/v1/api-key/revoke.phpБезвозвратно отзывает ключ с причиной; запись не удаляется.
organization_id — публичный IDid — ID ключаreason — причинаconfirm — true/v1/webhook/document/create.phpИдемпотентно создает документ организации только в submitted/pending из параметров HTTPS URL после проверки API-ключа, IP, rate limit, permission и webhook-канала тарифа. ID события формируется сервером из канонически отсортированного запроса.
api_key — API-ключ организацииevent — document.createddocument[type] — код вида из управляемого селектораdocument[issue_date] — ISO, YYYY/MM/DD, DD.MM.YYYY, DD/MM/YYYY, DD-MM-YYYY или Unix timestampdocument[field] — реквизиты, holder и program без системных статусов/v1/organization/import/template.phpВозвращает готовую таблицу XLSX с обязательными колонками и примером строки.
/v1/organization/import/create.phpПроверяет таблицу XLSX до 10 МБ и создает staging с row-level ошибками без документов.
organization_id — публичный IDfilename — имя .xlsxcontent_base64 — байты XLSX/v1/organization/import/get.phpВозвращает summary и row-level отчёт без staging PII.
organization_id — публичный IDid — ID импорта/v1/organization/import/confirm.phpПосле одного подтверждения ставит полностью валидный preview в очередь; frontend либо HTTP worker автоматически обрабатывает строки короткими ограниченными транзакционными пачками.
organization_id — публичный IDid — ID импортаconfirm — true/v1/organization/import/process.phpОбрабатывает ограниченную пачку только выбранной организации; документы получают submitted/pending и не расходуют лимит до решения модератора.
organization_id — публичный IDlimit — целое 1–100/v1/organization/analytics/get.phpВозвращает изолированные агрегаты документов, ФИС ФРДО, каналов и тарифных остатков без PII.
organization_id — публичный IDdate_from — YYYY-MM-DDdate_to — YYYY-MM-DD/v1/analytics/visit.phpИдемпотентно фиксирует обезличенное посещение по случайным visitor/session ID и группе страницы; Bearer связывает событие с зарегистрированным пользователем.
visitor_id — случайный ID браузераsession_id — случайный ID сессииevent_id — уникальный ID событияpage_group — нормализованная группа страницы/v1/user/register.phpСоздает обычную учетную запись, сохраняет email неподтвержденным и ставит письмо подтверждения в очередь.
email — string, email, до 320 символовpassword — string, от 12 символов и минимум три категории/v1/user/login.phpПроверяет credentials и возвращает токены только активной записи. При верном пароле заблокированной записи сообщает отдельный статус без выдачи доступа.
email — string, emailpassword — string/v1/user/refresh.phpПогашает текущий refresh token и возвращает новую пару. Повторное использование отзывает семейство.
refresh_token — string, полученный при login/refresh/v1/user/logout.phpОтзывает текущий access token, серверную сессию и связанные refresh tokens.
/v1/user/get.phpВозвращает публичный ID, email, роли и permissions текущей учетной записи.
/v1/user/passwordRequestReset.phpПринимает запрос без раскрытия существования email и ставит письмо восстановления в очередь.
email — string, email/v1/user/passwordReset.phpПроверяет одноразовый reset token, меняет password hash и отзывает прежние сессии.
token — string, одноразовый reset tokennew_password — string, новый безопасный пароль/v1/user/profile/get.phpВозвращает владельцу анкету, расшифрованный паспорт, страновые маски, метаданные аватара, файлов текущего цикла и историю проверки.
/v1/user/profile/update.phpСохраняет единую страну профиля, ФИО, дату рождения, международный телефон этой страны и обязательный СНИЛС до отправки или после возврата. Ошибка 010029 содержит безопасный errors[] с конкретными полями.
first_name — имяlast_name — фамилияmiddle_name — отчество, необязательноbirth_date — YYYY-MM-DDcountry_code — единая страна телефона, паспорта и правил документов; ISO alpha-2phone — полный телефон выбранной страныsnils — обязательно, 11 цифр; checksum применяется с учетом исторического диапазона/v1/user/profile/passportUpdate.phpПроверяет реквизиты паспорта по уже сохраненной стране профиля и хранит их только в зашифрованном AES-256-GCM payload. Ошибка 010029 содержит безопасный errors[] с конкретными полями.
country_code — должен совпадать с единой страной сохраненной анкетыseries — отдельная серия, если предусмотрена странойnumber — номер по формату страныissue_date — YYYY-MM-DDissued_by — кем выданdivision_code — только РФ, 6 цифрbirth_place — место рожденияregistration_address — обязательно для РФ/v1/user/profile/fileUpload.phpПринимает JPEG, PNG или PDF до 8 МБ в base64 и сохраняет под случайным именем в закрытом storage.
purpose — passport_main, passport_registration, snils_proof или identity_extrafilename — исходное имяcontent_base64 — содержимое файла/v1/user/profile/fileDownload.phpВозвращает владельцу собственный файл в base64 после проверки SHA-256.
file_id — публичный ID файла/v1/user/profile/avatarUpload.phpПринимает JPEG, PNG или WebP до 4 МБ и заменяет собственный аватар пользователя.
content_base64 — изображение от 128 × 128 до 4096 × 4096 px/v1/user/profile/avatarDownload.phpВозвращает владельцу собственный аватар в base64 после проверки SHA-256.
/v1/user/profile/startReverification.phpПо явной причине снимает статус verified, создает новый изолированный цикл файлов и открывает данные для повторной проверки.
reason — причина от 10 до 500 символов/v1/user/profile/submitVerification.phpТребует полную анкету со СНИЛС, паспорт и файлы текущего цикла; для РФ обязательны passport_main, passport_registration и snils_proof. Ошибка 010029 перечисляет каждый отсутствующий документ в безопасном errors[].
/v1/organization/typeList.phpВозвращает активный управляемый справочник типов организаций без внутренних ID.
/v1/organization/create.phpСоздает редактируемый draft с официальными наименованиями и owner-членство. Публичная ссылка строится по возвращенному id; при 020012 или конфликте ИНН errors содержит field, code и message.
organization_type_code — активный код управляемого справочникаfull_name — полное официальное наименованиеshort_name — краткое официальное наименованиеinn — 10 или 12 цифрogrn — необязательно, 13 или 15 цифр/v1/organization/submit.phpПереводит заполненный draft с документом государственной регистрации в pending.
id — публичный ID организации/v1/organization/delete.phpОкончательно удаляет организацию владельца только до первой отправки, включая закрытые файлы, и освобождает ИНН.
id — публичный ID организации/v1/organization/list.phpВозвращает все активные членства текущего пользователя, отдельную роль, permissions, статус и количество сотрудников.
/v1/organization/get.phpВозвращает профиль с официальными наименованиями, отдельные лицензии, регистрационные файлы, роль и permissions активного сотрудника.
id — необязательный публичный ID в query/v1/organization/update.phpИзменяет профиль вне pending. Измененная verified-карточка возвращается в pending; лицензии этой операцией не меняются.
id — публичный ID организацииorganization_type_code — активный или уже сохраненный код типаfull_name — полное официальное наименованиеshort_name — краткое официальное наименованиеshow_contacts — явное согласие на публичные контакты/v1/organization/logoUpload.phpПринимает JPEG, PNG или WebP до 4 МБ и заменяет логотип организации при праве изменения профиля. Чужая карточка и отсутствие права скрываются единым not found.
id — публичный ID организацииcontent_base64 — изображение от 128 × 128 до 4096 × 4096 px/v1/organization/logoDownload.phpВозвращает доступному сотруднику логотип в base64 после проверки размера и SHA-256.
id — публичный ID организации в query/v1/organization/educationActivityList.phpВозвращает 21 укрупненный вид программ из приложения к ПП РФ № 1490 без внутренних ID.
/v1/organization/license/create.phpСоздает новую pending-лицензию после первой отправки организации. Во время модерации организации запись сохраняется, но появляется в административной очереди лицензий только после подтверждения организации.
id — публичный ID организацииlicense_number — номер лицензииissued_at — дата предоставления YYYY-MM-DDissuing_authority — лицензирующий органactivity_details — профессии, специальности и адресаeducation_activity_codes — минимум один код справочника/v1/organization/license/update.phpИзменяет pending, возвращенную или отклоненную лицензию. Подтвержденная лицензия неизменяема.
id — публичный ID организацииlicense_id — публичный ID лицензииlicense_number — номер лицензииissued_at — дата предоставления YYYY-MM-DDeducation_activity_codes — минимум один код справочника/v1/organization/fileUpload.phpЗагружает отдельную страницу регистрации либо конкретной неподтвержденной лицензии; JPEG, PNG или PDF до 8 МБ.
id — публичный ID организацииpurpose — registration_document или education_licenselicense_id — обязателен только для education_licensefilename — исходное имяcontent_base64 — содержимое файла/v1/organization/fileDownload.phpВозвращает доступному сотруднику одну страницу в base64 после проверки размера и SHA-256.
file_id — публичный ID файла/v1/organization/fileRemove.phpМягко удаляет регистрационный файл или файл неподтвержденной лицензии. Файл подтвержденной лицензии неизменяем.
id — публичный ID организацииfile_id — публичный ID файла/v1/organization/submitCorrection.phpПереводит собственную исправленную карточку из correction_requested или rejected в pending с неизменяемой историей и audit log.
id — публичный ID организации/v1/organization/member/add.phpДобавляет уже зарегистрированного пользователя с не-owner ролью при permission organization.members.manage.
id — публичный ID организацииemail — email существующего пользователяrole — системный код организационной роли/v1/organization/member/update.phpИзменяет роль активного сотрудника. Роль владельца этой операцией не назначается и не изменяется.
id — публичный ID организацииmember_id — публичный ID пользователяrole — новая не-owner роль/v1/organization/member/remove.phpМягко отзывает членство. Владелец не может быть удален обычной операцией.
id — публичный ID организацииmember_id — публичный ID пользователя/v1/organization/publicGet.phpВозвращает только подтвержденную карточку с формализованным типом организации. ИНН, ОГРН и сотрудники не публикуются; контакты выводятся только при явном согласии.
id — неизменяемый 32-символьный публичный ID в query/v1/document/typeList.phpВозвращает активный формализованный справочник видов документов без внутренних ID.
/v1/document/create.phpСоздает личный черновик подтвержденного пользователя с обязательным snapshot организации-выдавшей. Статус ФИС ФРДО всегда pending («На проверке»).
source_type — только holder_manualissuer_name — официальное наименование организации-выдавшейissuer_inn — ИНН из 10 или 12 цифрissuer_ogrn — необязательный ОГРН/ОГРНИПdocument_type_code — активный код формализованного справочникаseries — необязательноnumber — номер документаissued_at — YYYY-MM-DDregistration_number — регистрационный номерprogram_name — название программы/v1/document/list.phpВозвращает расширенные карточки личных и связанных по подтвержденному СНИЛС документов: реквизиты, программу, источник, ФИС ФРДО, число файлов и display-даты. Ожидающий отзыв отображается отдельным признаком, а подтвержденно отозванная запись исключается.
q — необязательный поиск до 100 символовstatus — общий статус документаsource — personal или organizationdocument_type_code — код вида из управляемого справочникаfrdo_status — pending, not_registered или registeredsort — created_at, issued_at, document_type, status, organization или programdirection — asc или desc/v1/organization/document/list.phpВозвращает документы одной явно выбранной организации с безопасным поиском и сортировкой отображаемой таблицы.
organization_id — публичный ID организации в queryq — необязательный поиск до 100 символовsort — document_type, number, holder, issued_at, registration_number, status или created_atdirection — asc или desc/v1/organization/document/recipientSearch.phpИщет по ФИО или email только активных пользователей с подтвержденным профилем и возвращает безопасный набор без СНИЛС и полного email. Недоступная организация и отсутствие права скрываются единым not found.
id — публичный ID организации в queryq — от 2 до 100 символов/v1/organization/document/create.phpСоздает организационный документ от официальной организации с выбранным подтвержденным получателем либо с ручным снимком и СНИЛС; начальный статус ФИС ФРДО всегда pending.
organization_id — публичный ID организацииrecipient_user_id — необязательный публичный ID предложенного подтвержденного пользователяholder_last_name — фамилия при ручном вводеholder_first_name — имя при ручном вводеholder_birth_date — дата рождения при ручном вводеholder_snils — СНИЛС при ручном вводеdocument_type_code — активный код формализованного справочникаnumber — номер документаissued_at — YYYY-MM-DDregistration_number — регистрационный номерprogram_name — название программы/v1/document/get.phpВозвращает владельцу реквизиты, программу, метаданные закрытых файлов, общий статус, ожидающую заявку на отзыв, read-only статус ФРДО и историю общих переходов. После подтвержденного отзыва личный доступ прекращается.
id — публичный ID в query/v1/document/update.phpИзменяет только draft или needs_correction. Источник, trust level, общий и ФРДО-статусы не принимаются.
id — публичный IDdocument_type_code — активный или уже сохраненный код видаseries — необязательноnumber — номер документаissued_at — YYYY-MM-DDregistration_number — регистрационный номерprogram_name — программа/v1/document/fileUpload.phpПринимает JPEG, PNG или PDF до 8 МБ и сохраняет под случайным именем в закрытом storage только для редактируемого документа.
id — публичный ID документаpurpose — document_scan, supplement или supporting_materialfilename — исходное имяcontent_base64 — байты файла/v1/document/fileDownload.phpВозвращает доступный владельцу файл в base64 после проверки размера и SHA-256.
id — публичный ID документаfile_id — публичный ID файла/v1/document/fileRemove.phpМягко удаляет файл только у draft или needs_correction и удаляет закрытые физические байты.
id — публичный ID документаfile_id — публичный ID файла/v1/document/submit.phpПереводит заполненный draft или needs_correction только в submitted после проверки подходящего оплаченного права. Переход в registered выполняет исключительно назначенный модератор.
id — публичный ID документа/v1/document/suspend.phpПереводит доступный источнику registered-документ в suspended с обязательной причиной и неизменяемой историей.
id — публичный ID документаreason — обязательная причина/v1/document/revoke.phpСоздает обязательную заявку модератору для доступного источнику registered или suspended документа. До решения документ сохраняет действующий статус и виден получателю с признаком ожидания; окончательный revoked устанавливает только модератор.
id — публичный ID документаreason — обязательная причина/v1/document/verify.phpПо точному случайному коду возвращает только ранее зарегистрированную запись с маскированными реквизитами, источником, уровнем доверия и точным статусом ФИС ФРДО.
verification_code — ORDOO-XXXX-XXXX-XXXXclient_session — необязательный необратимый frontend-признакclient_fingerprint — необязательный технический fingerprintcaptcha_token — token подключенного CAPTCHA hook после порогаclient_network — необязательный необратимый frontend-признак сети/v1/tariff/list.phpВозвращает активные продукты и текущие версии цен личного либо доступного организационного финансового контура.
organization_id — необязательный публичный ID организации/v1/tariff/get.phpВозвращает один активный продукт с ценой, лимитом, сроком, каналами и ограничениями видов.
id — публичный ID тарифаorganization_id — необязательный публичный ID организации/v1/tariff/purchase.phpИдемпотентно создает pending-заказ с количеством и серверной суммой. card возвращает HTTPS checkout активного эквайринга в JSON; invoice доступен пользователю и организации и создает печатный счёт. Активный безлимит блокирует разовые и лимитные покупки, но новый безлимит продлевает текущий срок. При 050034 errors[] указывает конкретное поле.
tariff_id — публичный ID тарифаorganization_id — необязательный публичный ID организации; отсутствие означает личный заказpayment_method — card или invoice для личного и организационного владельцаquantity — целое число 1–10000; для безлимитного тарифа только 1idempotency_key — уникальная строка 16–191 символ/v1/billing/overview.phpВозвращает доступные регистрации над каталогом, дату окончания безлимита, owner-scoped заказы YY-NNNNNNNN, акты организации, чеки и ledger.
organization_id — необязательный публичный ID организации/v1/billing/usageList.phpВозвращает append-only события первого успешного перевода документов в registered.
organization_id — необязательный публичный ID организации/v1/billing/invoiceDownload.phpВозвращает PDF из активного DOCX-макета и неизменяемых снимков заказа; до активации первого макета сохраняет совместимый печатный HTML.
order_id — технический публичный ID заказаorganization_id — необязательный публичный ID организации/v1/billing/receiptDownload.phpВозвращает checksum-проверенный PDF-чек только финансовому владельцу заказа после административной загрузки.
order_id — публичный ID заказаorganization_id — необязательный публичный ID организации/v1/billing/actDownload.phpВозвращает checksum-проверенный PDF-акт только участнику организации после административной загрузки документа за календарный период.
act_id — публичный ID актаorganization_id — публичный ID организации/v1/organization/course/list.phpВозвращает собственные карточки, варианты часов, период, продвижение, комментарий модератора и обезличенные суммы просмотров/переходов.
organization_id — публичный ID организации/v1/organization/course/save.phpСоздает либо меняет доступный черновик с безопасным HTML, вариантами часов, HTTPS-ссылкой и периодами.
organization_id — публичный ID организацииtitle — названиеdescription_html — безопасный HTMLhour_variants — целые часы 1–10000payment_url — необязательный HTTPS URL/v1/organization/course/submit.phpПереводит черновик или исправленную карточку на обязательную модерацию с историей.
organization_id — публичный ID организацииid — публичный ID курса/v1/organization/course/archive.phpЗакрывает черновик или немедленно снимает опубликованный курс с каталога, сохраняя историю и audit.
organization_id — публичный ID организацииid — публичный ID курсаconfirm — явное подтверждение true/v1/course/catalog.phpВозвращает только опубликованные сейчас карточки подтвержденных организаций, сначала продвигаемые.
/v1/course/event.phpПишет обезличенный просмотр или переход к оплате без cookie и персональных данных.
id — публичный ID курсаevent — view или clickПубличный SDK не использует Composer, классы приложения или autoload. Структура handlers зеркально повторяет API: endpoint /v1/user/login.php имеет wrapper OrdooApiSDK/v1/user/login.php. Административные wrappers и maintenance-доступ в партнерскую поставку не входят.
<?php
declare(strict_types=1);
$config = [
'api' => ['base_url' => 'https://api.ordoo.ru'],
];
require_once __DIR__ . '/OrdooApiSDK/v1/user/login.php';
$result = ordoo_sdk_auth_login($config, 'user@example.ru', 'your-password');