Щелчок по интерфейсу инструмента PDF подходит для нерегулярного использования. Когда вы ежедневно обрабатываете сотни PDF-файлов, каждый щелчок становится узким местом. Доступ к API превращает ручной инструмент в автоматизированный сервис, к которому ваше собственное программное обеспечение может обращаться напрямую. Вместо того, чтобы человек загружал файлы через браузер, сценарий отправляет PDF-файлы на конечную точку API инструмента, получает обработанные результаты и направляет их на следующий шаг, не прикасаясь к мыши.
Доступ через API превращает PDF-инструмент из приложения в часть инфраструктуры.
Интеграция рабочего процесса PDF с инструментами, доступными через API, требует понимания аутентификации, форматирования запросов, ограничений скорости и обработки ошибок. Edit PDF и возможности обработки WukongPDF включают опции API для групп, которым требуется автоматизация. Первоначальная настройка занимает несколько часов времени разработки. Постоянная экономия увеличивается с каждой автоматизированной партией, которая потребовала бы ручной обработки.

Что могут и чего не могут API инструментов PDF
API инструмента PDF обычно предоставляет те же операции, что и в веб-интерфейсе: сжатие, объединение, разделение, преобразование, распознавание текста, водяные знаки, подпись, защита и разблокировка. Разница заключается в пропускной способности и последовательности. Конечная точка API принимает программные запросы 24 часа в сутки с одинаковым поведением каждый раз. Нет обновления пользовательского интерфейса, которое перемещает кнопку, нет тайм-аута сеанса, из-за которого вы теряете свое место, и нет человеческой усталости, которая приводит к ошибкам в 200-м файле за день.
Чего API обычно не могут делать, так это обрабатывать интерактивные рабочие процессы, требующие человеческого решения. API может сжимать PDF-файл, но не может решить, выглядит ли сжатый результат приемлемым. Он может распознать отсканированный документ, но не может проверить правильность распознания критических чисел. Автоматизированным рабочим процессам необходимы шлюзы проверки качества, где человек просматривает образец выходных данных или где сценарий выполняет автоматические проверки, сравнивая количество страниц и размеры файлов с ожидаемыми диапазонами, прежде чем принять выходные данные API и продолжить работу. API обеспечивает силу. Проверки качества обеспечивают контроль.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
Аутентификация и безопасность для обработки PDF-файлов на основе API
API-интерфейсы инструментов PDF аутентифицируют запросы с использованием ключей API, токенов OAuth или учетных данных JWT. Ключи API самые простые: длинная строка, которую вы включаете в каждый заголовок запроса. Их также легче всего случайно утечь через исходный код, помещенный в общедоступный репозиторий. Относитесь к ключам API как к паролям. Храните их в переменных среды, менеджерах секретов или зашифрованных файлах конфигурации. Никогда не закодируйте их жестко в исходных файлах.
Модель безопасности меняется при переходе от ручной загрузки к обработке на основе API. Человек, загружающий файлы через браузер, имеет неявный контроль доступа: он может обрабатывать только те файлы, которыми он владеет. Ключ API с разрешениями на обработку может использовать любой, у кого есть ключ для обработки любого файла, который он может предоставить в качестве URL-адреса или загрузить. Ограничьте разрешения ключа API до необходимого минимума. Если ключу необходимо только сжимать PDF-файлы, у него также не должно быть разрешений на удаление файлов или доступ к платежной информации. Большинство платформ API поддерживают ключи API с ограниченной областью действия и детальными разрешениями. Используйте их.
Проектирование надежного автоматизированного конвейера PDF
Создайте свой конвейер, чтобы корректно обрабатывать сбои. Вызовы API завершаются сбоем по причинам, не зависящим от вас: сбои в сети, окна обслуживания сервера, принудительное ограничение скорости, случайные 500 ошибок. Для каждого вызова API в вашем конвейере требуется механизм повтора с экспоненциальной задержкой. Если первая попытка не удалась, подождите одну секунду и повторите попытку. Если это не помогло, подождите две секунды. Потом четыре. Большинство временных сбоев разрешаются в течение трех повторных попыток.
Внедрите очередь недоставленных писем для файлов, которые постоянно не обрабатываются. После трех повторных попыток переместите файл в папку сбоев и запишите сведения об ошибке. Человек может просматривать сбои в пакетном режиме, а не контролировать конвейер в режиме реального времени. Этот шаблон отделяет проектирование надежности от эксплуатации: конвейер продолжает работать без присмотра, а сбои накапливаются в известном месте для периодического анализа. Файлы, которые вышли из строя по той же причине, поврежденный исходный PDF-файл, защита паролем, которая не была удалена предварительно, могут обрабатываться как класс, а не как отдельные инциденты.
Ограничения скорости обработки и параллелизм
Ограничения скорости API ограничивают количество запросов, которые вы можете сделать в течение определенного периода времени. Ограничение в 60 запросов в минуту означает, что ваш конвейер может обрабатывать в среднем один PDF-файл в секунду. Если вы превысите это значение, API вернет ошибку 429 Too Many Requests. Ваш конвейер должен соблюдать эти ограничения либо путем регулирования собственной частоты запросов, либо путем обработки 429 ответов с логикой повторных попыток.
Для обработки больших объемов проверьте, поддерживает ли API веб-перехватчики или шаблоны асинхронной обработки. Вместо отправки файла и синхронного ожидания результата вы отправляете файл, немедленно получаете идентификатор задания, а API вызывает URL-адрес вашего веб-перехватчика после завершения обработки. Этот шаблон отделяет отправку от завершения и позволяет API обрабатывать файлы в своем собственном темпе, при этом ваш конвейер не поддерживает открытые соединения. Асинхронная обработка необходима для файлов, обработка которых занимает несколько минут, например больших заданий OCR или сложных слияний.
| Элемент трубопровода | Реализация | Режим отказа |
|---|---|---|
| Аутентификация | Ключ API в env var или менеджере секретов | Срок действия ключа истек, ключ отозван, недостаточно прав |
| Запросить отправку | HTTP POST с файлом или URL-адресом файла | Тайм-аут, соединение отклонено, файл 413 слишком большой |
| Опрос статуса | GET с идентификатором задания или обратный вызов веб-перехватчика | Задание зависло в ожидании, вебхук не получен |
| Загрузка результата | GET с идентификатором задания, потоковая передача на диск | Тайм-аут загрузки, частичный файл, несовпадение контрольной суммы |
| Восстановление ошибок | Повторить попытку с отсрочкой, очередь недоставленных писем | Все повторные попытки исчерпаны, требуется проверка вручную |
Мониторинг и журналирование автоматизированных рабочих процессов
Автоматизированный конвейер, работающий без присмотра, нуждается в прозрачности. Регистрируйте каждый запрос API: временную метку, идентификатор файла, тип операции, размер запроса, код состояния ответа и продолжительность обработки. Эти журналы отвечают на вопрос, почему этот файл вышел из строя в 3 часа ночи, не требуя от вас воспроизвести ошибку. Объедините журналы на информационной панели, которая показывает пропускную способность, частоту ошибок и среднее время обработки за последний час и прошедший день.
Настройте оповещения о скачках частоты ошибок. Если 5% запросов в течение 10-минутного окна терпят неудачу, что-то изменилось: возможно, служба API ухудшилась, срок вашей аутентификации истек или в конвейер попал пакет поврежденных исходных файлов. Оповещение позволяет вам провести расследование в рабочее время, а не обнаруживать проблему, когда клиент спрашивает, почему его документы не были обработаны. Инфраструктура мониторинга так же важна, как и сам конвейер обработки, поскольку неконтролируемый конвейер неотличим от сломанного.
Когда не использовать автоматизацию API
Автоматизация API — неправильный ответ для небольших объемов и разнообразия PDF-файлов. Обработка трех PDF-файлов в день, каждый из которых требует разных операций с разными настройками, происходит быстрее через графический интерфейс, чем через API. Время разработки сценария рабочего процесса превышает время ручной обработки на месяцы или годы. Зарезервируйте автоматизацию API для объемов, где инвестиции в разработку окупаются в течение недель, а не лет.
Автоматизация API также является неправильным ответом, когда каждый файл нуждается в человеческом суждении. Проверка юридической документации, утверждение результатов проектирования и переговоры по контракту — все это требует принятия решений, которые невозможно прописать по сценарию. Автоматизация механических этапов, сжатия, слияния и преобразования, сохраняя при этом человеческие этапы принятия решения, представляет собой гибридный подход, сочетающий в себе лучшее из обоих. API обрабатывает повторяющуюся механику. Человек принимает решения. Ни одно не заменяет другое.
Попробуйте редактировать PDF
Никакой установки не требуется. Работает прямо в вашем браузере.
