Один File ID
Ссылка в вашей базе данных не меняется при замене содержимого.
Ваше приложение хранит File ID и бизнес-смысл файла. Pulse Media берёт на себя сами байты, версии, доступ, выдачу, прямую загрузку из браузера, техническую обработку и события. Production и Staging остаются изолированными средами одного приложения.
File ID обозначает один и тот же файл в вашем продукте. При замене содержимого Pulse Media создаёт новую версию и делает её текущей, а предыдущая остаётся в истории. Версионность входит в файловый контракт платформы.
POST /v1/media/files
GET /v1/media/files/{file_id}
POST /v1/media/files/{file_id}/replace
GET /v1/media/files/{file_id}/versions
PATCH /v1/media/files/{file_id}/visibility
DELETE /v1/media/files/{file_id}Ссылка в вашей базе данных не меняется при замене содержимого.
Предыдущие успешные версии остаются в истории до удаления самого файла.
Публичная ссылка может пережить замену содержимого без смены URL, который уже использует пользователь.
Production и Staging имеют отдельные ключи доступа и отдельный учёт использования. Среда определяется самим секретным ключом и сохраняется вместе с файловым контекстом.
Сервер выдаёт короткоживущее разрешение на загрузку. Браузер получает токен разрешения, точный URL загрузки и созданный сервером Idempotency-Key. Разрешение действует только для согласованной операции.
Browser
→ ваш сервер
→ POST /v1/media/upload-grants Authorization: Bearer pulse_sk...
← pulse_ug + upload_url + idempotency_key
→ Pulse Media upload_url
← file_id + ссылкаВебхук относится к конкретным приложению и среде. Создание файла завершается независимо от доступности внешнего адреса: событие сохраняется в очередь, а доставка выполняется отдельно с повторными попытками.
Логическая сущность создана.
Файл готов, технические сведения собраны.
Можно обработать ошибку без постоянного опроса статуса.
Удаление файла зафиксировано.
Node.js 20+ и PHP 8.1+ SDK скачиваются прямо из установленной версии Pulse Media, поэтому набор файлов соответствует API конкретного сервера.
Встроенные fetch, FormData, Blob и crypto. Загрузка файлов, прямая загрузка из браузера и проверка подписи вебхука.
Тот же API, понятные ошибки и проверка HMAC-подписи вебхука по исходному телу запроса.
Серверный ключ показывает, к какому приложению и окружению относится доступ. Полный секрет выдаётся при создании и хранится только на стороне сервера.
Для прямой загрузки из браузера или приложения используется ограниченное разрешение. Для серверной интеграции — ключ выбранной среды с минимально необходимыми правами.
Выберите приложение и среду, выпустите секретный ключ, проверьте подключение, создайте файл, затем подключайте прямую загрузку и вебхуки только если они действительно нужны.