
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. Замените их своими типами данных и именами элементов. Примерные медиа‑адреса необходимо заменить вашими файлами.
Запланировано: выберите поля, необходимые вашей форме, например fields_json=["title","date","total"]. Включите enable_analysis_export и задайте analysis_context для выбранного аккаунта или записи. Эти настройки анализа недоступны в текущей версии захвата.
Позвольте пользователю сделать фото и отдельно согласиться на обработку. На analysis_requested запустите Analyze Captured Document, используя analysis_image_base64, analysis_mime_type, analysis_fields_json и analysis_consent этого элемента. Используйте analysis_request_id как idempotency_key.
Сохраните возвращённые operation_id, request_id и status. Если status — processing, используйте Read Analysis с этим operation_id для получения результата позже.
Отобразите возвращённый fields_json в редактируемой форме проверки. Сохраняйте одобренные значения только после того, как пользователь проверит их и нажмёт «Подтвердить». Сохраните оригинальную запись до подтверждения.
Настройте один раз
Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins. Выберите Xodera Documents AI Native, скопируйте его ключ, затем откройте Bubble → Plugins → Xodera Documents AI Native и вставьте его в project_api_key. Сохраните один раз; затем используйте действия ниже. Каждый плагин в каждом проекте имеет свой собственный ключ.
Запросите разрешение на камеру и объясните, зачем нужен фото. Обработка требует отдельного согласия пользователя. Выберите поставщика ИИ в настройках проекта; плату за его использование взимает этот поставщик.
Настройте один раз
- Создайте или выберите ваш проект Bubble в BestPlugins → Dashboard → Plugins.
- Выберите этот плагин и скопируйте его ключ проекта.
- Откройте Bubble → Plugins → Xodera Documents AI Native; вставьте ключ в project_api_key и сохраните.
- Добавьте элемент, выберите данные вашего приложения и постройте рабочий процесс ниже.
- Доступ к закрытой бете только сейчас. Публичная установка и платная активация ещё не открыты.
Установка и подписка
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/noRead 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 ожидает выпуска
Руководство форума не опубликовано
Для получения помощи укажите, какой плагин и устройство вы используете, какое действие пытались выполнить и что произошло. Приведите пример без персональных данных. Никогда не делитесь своим ключом или личными файлами.