Интефейс захвата фото Documents AI. Планируется извлечение полей.
Интефейс захвата фото Documents AI. Планируется извлечение полей.
← Все нативные руководства

Xodera Plugins · Bubble Native

Xodera Documents AI Native

Преобразуйте фото чека или доставки в черновую форму. Позвольте ИИ предложить дату, сумму и другие запрашиваемые поля, затем дайте человеку проверить их перед сохранением.

Public beta guides · Haptics instructions are in its Bubble listing

Public beta offer: free Bubble install · 7-day card trial, then US$1.50/month per plugin/project.

Документация проверена 6 в ноябре 2026

Практические примеры

Заполнить черновик расходов из фотографии чека

Повторный ввод продавца, даты и суммы замедляет ввод расходов; извлечённые поля могут быть черновиком для проверки.

`fields_json = ["merchant","date","total","currency"]`; пользователь захватывает изображение чека и отдельно даёт согласие на обработку. Используйте только образцы чеков при тестировании.

Запланировано: `analysis_requested` → Analyze Captured Document с использованием ограниченных экспортированных байтов/MIME/имен полей/согласия/идентификатора запроса → показать возвращённые поля в редактируемой форме расходов.

Действие возвращает `status`, `operation_id`, `fields_json` и `review_required`. Пользователь корректирует/утверждает поля перед тем, как ваш рабочий процесс создаст расход.

При неопределённом результате Read Analysis с тем же `operation_id`; не запускайте автоматический повторный анализ. Отзыв согласия очищает сохранённые захваченные/экспортированные данные; никогда не сохраняйте необработанный base64 в публичных объектах или журналах.

Запланировано. Пользователь должен проверить каждое предложенное значение перед сохранением.

Прочитать ссылку на накладную для формы проверки сотрудником

Пользователь склада должен иметь возможность проверить предложенную ссылку/дату вместо ввода её с фотографированного бумажного листа.

`fields_json = ["delivery_reference","supplier","delivery_date"]`; захватите соответствующую сторону образца накладной при тестировании.

После отдельного согласия на захват/обработку Analyze Captured Document предлагает выбранные поля. Покажите фотографию рядом с редактируемыми полями и попросите сотрудника подтвердить соответствующую запись доставки.

Сохраните возвращённый `operation_id` для повторной проверки результата и `fields_json` как предложение. Ваш рабочий процесс выполняет фактический поиск/обновление доставки только после проверки сотрудником.

Отсутствующие, неоднозначные или неверные поля требуют ручного исправления. Ошибка провайдера оставляет оригинальную доставку без изменений; Read Analysis проверяет результат неопределённой операции.

Запланировано. Пользователь должен проверить каждое предложенное значение перед сохранением.

Предложить серийный номер оборудования с фотографии этикетки

Форма обслуживания может предлагать проверяемое предложение модели/серийного номера, когда этикетка актива неудобна для ввода.

`fields_json = ["manufacturer","model","serial_number"]`; захватите образец изображения этикетки оборудования; выберите вашего AI‑провайдера в настройках проекта.

Запланированное действие Analyze Captured Document возвращает предложенные строки. Отобразите их рядом с фотографией; позвольте пользователю исправить их перед поиском актива или рабочим процессом обслуживания.

Используйте возвращённые `fields_json`, `review_required` и `operation_id`. Обрабатывайте идентификаторы как текст, чтобы приложение сохраняло ведущие нули.

Если изображение нечитаемо или модель предлагает неверную строку, разрешите ручной ввод. Проверьте результат той же операции после неопределённого ответа, а не оплачивайте ещё один анализ.

Запланировано. Пользователь должен проверить каждое предложенное значение перед сохранением.

Что работает сейчас

Закрытая бета. Захват фото доступен для тестирования. Извлечение полей из фото запланировано и пока не готово к использованию в вашем приложении.

Создайте рабочий процесс

Запланировано

Запланированный рабочий процесс. Пока недоступен в текущей бете.

В этих примерах используются записи приложений, такие как Lesson, Message и Order. Замените их своими типами данных и именами элементов. Примерные медиа‑адреса необходимо заменить вашими файлами.

  1. Запланировано: выберите поля, необходимые вашей форме, например fields_json=["title","date","total"]. Включите enable_analysis_export и задайте analysis_context для выбранного аккаунта или записи. Эти настройки анализа недоступны в текущей версии захвата.

  2. Позвольте пользователю сделать фото и отдельно согласиться на обработку. На analysis_requested запустите Analyze Captured Document, используя analysis_image_base64, analysis_mime_type, analysis_fields_json и analysis_consent этого элемента. Используйте analysis_request_id как idempotency_key.

  3. Сохраните возвращённые operation_id, request_id и status. Если status — processing, используйте Read Analysis с этим operation_id для получения результата позже.

  4. Отобразите возвращённый fields_json в редактируемой форме проверки. Сохраняйте одобренные значения только после того, как пользователь проверит их и нажмёт «Подтвердить». Сохраните оригинальную запись до подтверждения.

Диаграмма рабочего процесса — не скриншот приложения

Настройте один раз

Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins. Выберите Xodera Documents AI Native, скопируйте его ключ, затем откройте Bubble → Plugins → Xodera Documents AI Native и вставьте его в project_api_key. Сохраните один раз; затем используйте действия ниже. Каждый плагин в каждом проекте имеет свой собственный ключ.

Запросите разрешение на камеру и объясните, зачем нужен фото. Обработка требует отдельного согласия пользователя. Выберите поставщика ИИ в настройках проекта; плату за его использование взимает этот поставщик.

Настройте один раз
  1. Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins.
  2. Выберите этот плагин и скопируйте его ключ проекта.
  3. Откройте Bubble → Plugins → Xodera Documents AI Native; вставьте ключ в project_api_key и сохраните.
  4. Добавьте элемент, выберите данные вашего приложения и постройте рабочий процесс ниже.
  5. Доступ к закрытой бете только сейчас. Публичная установка и платная активация ещё не открыты.
Установка и подписка

For Audio Player, Video Player, Photo Editor, Audio Recorder, Files Kit and Haptics: free Bubble installation, a 7-day trial with a card, then US$1.50 per month per plugin and app project. Development and production are included, with no operation cap. File-size and feature limits still apply. Review billing and cancellation before confirming. Other plugins remain unavailable for purchase.

Сохраните результат в вашем приложении

Пример ExpenseDraft: владелец, operation_id, request_id, статус и proposed_fields_json. После проверки сохраните одобренные дату, сумму и другие поля, а также reviewed_by и reviewed_at. Сопоставляйте только запрошенные вашей формой поля. Не помещайте полное содержимое изображения в журналы или обычные текстовые записи.

Сбой, отмена и восстановление

Если результат задерживается, сохраняйте тот же запрос и используйте Read Analysis для известного operation_id. Не делайте новое фото и не создавайте новый запрос автоматически. Если пользователь отзывает согласие, удалите фото и прекратите предлагать результат; уже отправленную или сохранённую копию нельзя отозвать.

Возможности и ограничения

Запланированный ввод изображений: PNG, JPEG или WebP, до 5 MiB; запросите отдельные имена полей 1–32. Всегда проверяйте извлечённые значения. Это не проверка личности, не проверка подлинности документа и не медицинский инструмент принятия решений. Платежи поставщика ИИ отдельные.

Настройки, действия и результаты

Используйте эти имена в Bubble. Планируемые функции отмечены отдельно.

Доступные настройки бета-версии

Настройки элемента

document_side · textbutton_label · textconsent_text · textdisabled · yes/nofields_json · textprocessing_consent_text · textanalyze_button_label · textcheck_button_label · textlanguage · textui_text_json · text

Состояния

capture_status · textlocal_uri · textmime_type · textdocument_side · textimage_width · numberimage_height · numbererror_code · textis_capturing · yes/noanalysis_status · textanalysis_operation_id · textanalysis_fields_json · textanalysis_error_code · textreview_required · yes/nois_analyzing · yes/no

События

capture_startedcapture_succeededcapture_cancelledpermission_deniedcapture_erroranalysis_startedanalysis_readyanalysis_pendinganalysis_error

Действия и их входные данные

Настройки элемента · 12

Запланированный рабочий процесс. Пока недоступен в текущей бете.

document_sidetext · По умолчанию: "front"
Пример значенияfront
Пример Bubble выраженияCapture Side Dropdown's value
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
button_labeltext · По умолчанию: ""
Пример значения""
Пример Bubble выраженияApp Texts' capture_label
Видимый текст приложения; пустое значение использует встроенный локализованный текст, где поддерживается. Без учётных данных.
consent_texttext · По умолчанию: ""
Пример значенияI agree to capture this non-sensitive receipt.
Пример Bubble выраженияApp Texts' capture_consent
Объясните конкретную цель захвата/обработки и получателя. Отзыв согласия очищает сохранённые байты, а не ранее скопированные данные приложения.
disabledyes/no · По умолчанию: false
Пример значенияno
Пример Bubble выраженияGuideHost's is_busy (your yes/no custom state)
Отключить элемент, пока приложение занято или действие недоступно.
processing_consent_texttext · По умолчанию: ""
Пример значенияI agree to send this image to the configured AI provider for draft fields.
Пример Bubble выраженияApp Texts' processing_consent
Объясните конкретную цель захвата/обработки и получателя. Отзыв согласия очищает сохранённые байты, а не ранее скопированные данные приложения.
analyze_button_labeltext · По умолчанию: ""
Пример значения""
Пример Bubble выраженияApp Texts' analyze_label
Видимый текст приложения; пустое значение использует встроенный локализованный текст, где поддерживается. Без учётных данных.
languagetext · По умолчанию: "auto"
Пример значенияuk
Пример Bubble выраженияCurrent User's preferred_language
Установите language=auto для следования за поддерживаемым устройством или языком браузера. Введите поддерживаемый код языка, чтобы выбрать его явно.
ui_text_jsontext · По умолчанию: ""
Пример значения{}
Пример Bubble выраженияApp Settings' player_labels_json (supported keys only)
Необязательный JSON с поддерживаемыми надписями кнопок. Оставьте пустым, чтобы использовать встроенный текст.
enable_analysis_exportyes/no · По умолчанию: false
Пример значенияyes
Пример Bubble выраженияApp Settings' enable_reviewed_extraction
Запланировано: разрешить действию анализа использовать фото после согласия обоих пользователей. По умолчанию отключено.
analysis_contexttext · По умолчанию: ""
Пример значения<current-user-id>
Пример Bubble выраженияCurrent User's unique id
Стабильное значение для этой учётной записи или записи. Изменение очистит предыдущее фото.
is_activeyes/no · По умолчанию: true
Пример значенияyes
Пример Bubble выраженияGuideHost's view_is_active (your yes/no custom state)
Установить «да», пока этот вид открыт. Установить «нет» при закрытии, чтобы воспроизведение или текущая работа могли остановиться.
fields_jsontext · По умолчанию: "[\"title\",\"date\",\"total\"]"
Пример значения["title","date","total"]
Пример Bubble выраженияExpense Settings' extraction_fields_json
JSON — массив запрошенных имён полей извлечения; вывод представляет собой предложенные данные для проверки человеком.
Действия и их входные данные · 2

Запланированный рабочий процесс. Пока недоступен в текущей бете.

Analyze Captured Document
image_base64text · По умолчанию: —
Пример значения<canonical bytes from consented export>
Пример Bubble выраженияDocument Capture's analysis_image_base64
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
mime_typetext · По умолчанию: —
Пример значенияimage/jpeg
Пример Bubble выраженияDocument Capture's analysis_mime_type
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
fields_jsontext · По умолчанию: —
Пример значения["title","date","total"]
Пример Bubble выраженияDocument Capture's analysis_fields_json
JSON — массив запрошенных имён полей извлечения; вывод представляет собой предложенные данные для проверки человеком.
consentyes/no · По умолчанию: —
Пример значенияyes — current processing consent
Пример Bubble выраженияDocument Capture's analysis_consent
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
idempotency_keytext · По умолчанию: —
Пример значения<unchanged analysis_request_id>
Пример Bubble выраженияDocument Capture's analysis_request_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
environmenttext · По умолчанию: —
Пример значенияdevelopment
Пример Bubble выраженияApp Settings' selected_environment
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.

Возвраты

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Read Analysis
operation_idtext · По умолчанию: —
Пример значения<returned operation_id>
Пример Bubble выраженияCurrent ExpenseDraft's operation_id
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.
environmenttext · По умолчанию: —
Пример значенияdevelopment
Пример Bubble выраженияApp Settings' selected_environment
Использовать значение текущей бизнес‑записи; проверить его в соответствии с нижеприведёнными ограничениями.

Возвраты

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Состояния и события

Запланированный рабочий процесс. Пока недоступен в текущей бете.

Состояния

capture_status · text

Текущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.

local_uri · text

Расположение файла на этом устройстве. Сохраните или загрузите файл отдельно, если его необходимо хранить онлайн.

mime_type · text

Текущее значение выбранного элемента. Читайте его после связанного события.

document_side · text

Текущее значение выбранного элемента. Читайте его после связанного события.

image_width · number

Текущее значение выбранного элемента. Читайте его после связанного события.

image_height · number

Текущее значение выбранного элемента. Читайте его после связанного события.

error_code · text

Информация об ошибке последнего действия. Показать полезное сообщение и предложить соответствующий повтор.

is_capturing · yes/no

Текущее значение выбранного элемента. Читайте его после связанного события.

analysis_image_base64 · text

Текущее значение выбранного элемента. Читайте его после связанного события.

analysis_mime_type · text

Текущее значение выбранного элемента. Читайте его после связанного события.

analysis_fields_json · text

Предлагаемые значения для запрошенных полей. Покажите их для проверки перед сохранением.

analysis_request_id · text

Идентификатор этого элемента или действия. Храните его вместе с соответствующей записью приложения. Используйте тот же идентификатор запроса при повторной попытке при неопределённом результате.

analysis_consent · yes/no

Текущее значение выбранного элемента. Читайте его после связанного события.

analysis_export_status · text

Текущий результат этого действия. Используйте соответствующее событие завершения перед сохранением успеха.

analysis_export_error · text

Информация об ошибке последнего действия. Показать полезное сообщение и предложить соответствующий повтор.

analysis_image_bytes · number

Текущее значение выбранного элемента. Читайте его после связанного события.

События

capture_started

Когда происходит это событие, считайте связанные состояния из того же элемента.

capture_succeeded

Когда происходит это событие, считайте связанные состояния из того же элемента.

capture_cancelled

Когда происходит это событие, считайте связанные состояния из того же элемента.

permission_denied

Когда происходит это событие, считайте связанные состояния из того же элемента.

capture_error

Когда происходит это событие, считайте связанные состояния из того же элемента.

analysis_requested

Когда происходит это событие, считайте связанные состояния из того же элемента.

analysis_export_error

Когда происходит это событие, считайте связанные состояния из того же элемента.

analysis_cleared

Когда происходит это событие, считайте связанные состояния из того же элемента.

Вопросы, которые задают разработчики

Проверяет ли он личность или документы?

Нет. Он предлагает текстовые поля для проверки. Сфотографированный документ не подтверждает личность, подлинность или медицинский/финансовый вывод.

Как работает подписка?

Запланированное ценообразование: установка плагина в Bubble бесплатна. Доступ к BestPlugins — отдельная подписка для каждого плагина в каждом проекте приложения Bubble: 7 дней бесплатно, затем US$1.50 в месяц. Включены Development и Live. Нет фиксированного ограничения на количество операций; ограничения по размеру файлов и функциям по‑прежнему действуют. Оформление заказа ещё недоступно. На экране активации будет показана первая дата выставления счёта и условия отмены.

Связанные руководства

Marketplace ожидает выпуска

Руководство форума не опубликовано

Для получения помощи укажите, какой плагин и устройство вы используете, какое действие пытались выполнить и что произошло. Приведите пример без персональных данных. Никогда не делитесь своим ключом или личными файлами.