
Xodera Plugins · Bubble Native
Xodera Documents AI Native
Convierta una foto de recibo o entrega en un formulario borrador. Permita que la IA sugiera la fecha, el total y otros campos solicitados, y luego que una persona los revise antes de guardar.
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.
Documentación revisada 6 noviembre 2026
Ejemplos prácticos
Rellenar previamente un borrador de gasto a partir de una foto de recibo
Escribir repetidamente el comerciante, la fecha y el total ralentiza la introducción de gastos; los campos extraídos pueden ser un borrador revisable.
`fields_json = ["merchant","date","total","currency"]`; el usuario captura una imagen de recibo y da su consentimiento por separado para el procesamiento. Utiliza solo recibos de muestra durante las pruebas.
Planificado: `analysis_requested` → Analyze Captured Document usando los bytes exportados limitados/MIME/nombres de campo/consentimiento/ID de solicitud → muestre los campos devueltos en su formulario de Gastos editable.
La acción devuelve `status`, `operation_id`, `fields_json` y `review_required`. Tu usuario corrige/aprueba los campos antes de que tu flujo de trabajo cree un Gasto.
Ante un resultado incierto, Read Analysis con el mismo `operation_id`; no emitas otro análisis automáticamente. La revocación del consentimiento elimina la captura/exportación retenida; nunca almacenes base64 sin procesar en un Thing público o en los registros.
Planificado. Una persona debe revisar cada valor sugerido antes de guardar.
Leer una referencia de nota de entrega para un formulario de revisión del personal
Un usuario de almacén debería poder revisar una referencia/fecha sugerida en lugar de escribirla desde un talón de papel fotografiado.
`fields_json = ["delivery_reference","supplier","delivery_date"]`; captura el lado relevante de una nota de entrega de muestra durante las pruebas.
Después del consentimiento separado de captura/procesamiento, Analyze Captured Document propone los campos seleccionados. Muestre la fotografía junto a los campos editables y pida al personal que confirme el registro de Entrega coincidente.
Mantén el `operation_id` devuelto para verificar el resultado nuevamente y `fields_json` como propuesta. Tu flujo de trabajo realiza la búsqueda/actualización real de la Entrega solo después de la revisión del personal.
Los campos faltantes, ambiguos o incorrectos requieren corrección manual. Un error del proveedor deja la Entrega original sin cambios; Read Analysis verifica el resultado de una operación incierta.
Planificado. Una persona debe revisar cada valor sugerido antes de guardar.
Sugerir un número de serie de equipo a partir de una foto de etiqueta
Un formulario de mantenimiento puede ofrecer una sugerencia de modelo/serie revisable cuando la etiqueta del activo es difícil de escribir.
`fields_json = ["manufacturer","model","serial_number"]`; captura una imagen de muestra de la etiqueta del equipo; elige tu proveedor de IA en la configuración del proyecto.
La acción Analyze Captured Document planificada devuelve cadenas propuestas. Muéstralas junto a la foto; permite que el usuario las corrija antes de tu búsqueda de Activo o flujo de trabajo de mantenimiento.
Utilice los `fields_json`, `review_required` y `operation_id` devueltos. Trate los identificadores como texto para que su aplicación conserve los ceros iniciales.
Si la imagen es ilegible o el modelo propone una cadena incorrecta, permita la entrada manual. Lea la misma operación después de una respuesta incierta en lugar de cobrar otra inferencia.
Planificado. Una persona debe revisar cada valor sugerido antes de guardar.
Lo que funciona ahora
Beta privada. La captura de fotos está disponible para pruebas. La extracción de campos de la foto está planificada y aún no está lista para usarse en su aplicación.
Crea el flujo de trabajo
Planificado
Flujo de trabajo planificado. No está disponible aún en la beta actual.
Estos ejemplos usan registros de aplicación como Lesson, Message y Order. Reemplácelos con sus propios tipos de datos y nombres de elementos. Las direcciones de medios de ejemplo deben ser sustituidas por sus propios archivos.
Planificado: elija los campos que necesita su formulario, por ejemplo fields_json=["title","date","total"]. Habilite enable_analysis_export y establezca analysis_context en la cuenta o registro seleccionado. Estas configuraciones de análisis no están disponibles en la versión actual de captura.
Permita que el usuario tome una foto y acepte el procesamiento por separado. En analysis_requested, ejecute Analyze Captured Document usando el analysis_image_base64, analysis_mime_type, analysis_fields_json y analysis_consent de este elemento. Use analysis_request_id como idempotency_key.
Guarde el operation_id y request_id devueltos y el estado. Si status es processing, use Read Analysis con ese operation_id para obtener el resultado más tarde.
Muestra el fields_json devuelto en un formulario de revisión editable. Guarda los valores aprobados solo después de que el usuario los verifique y presione Confirmar. Mantén el registro original hasta esa confirmación.
Configura una vez
Crea o elige tu proyecto de aplicación Bubble en BestPlugins → Dashboard → Plugins. Elige Xodera Documents AI Native, copia su clave, luego abre Bubble → Plugins → Xodera Documents AI Native y pégala en project_api_key. Guarda una vez; luego usa las acciones a continuación. Cada complemento en cada proyecto tiene su propia clave.
Solicite permiso de cámara y explique por qué se necesita la foto. El procesamiento requiere un acuerdo de usuario separado. Elija su proveedor de IA en la configuración del proyecto; su uso es facturado por ese proveedor.
Configura una vez
- Crea o elige tu proyecto de aplicación Bubble en BestPlugins → Dashboard → Plugins.
- Elige este complemento y copia su clave de proyecto.
- Abre Bubble → Plugins → Xodera Documents AI Native; pega la clave en project_api_key y guarda.
- Añade el elemento, elige los datos de tu aplicación y construye el flujo de trabajo a continuación.
- Acceso a beta privada solo por ahora. La instalación pública y la activación de pago aún no están abiertas.
Instalación y suscripción
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.
Guarda el resultado en tu aplicación
Ejemplo ExpenseDraft: propietario, operation_id, request_id, estado y proposed_fields_json. Después de la revisión, guarde la fecha aprobada, el total y otros campos, además de reviewed_by y reviewed_at. Mapee solo los campos que solicitó su formulario. No coloque el contenido completo de la imagen en registros o textos ordinarios.
Fallo, cancelación y recuperación
Si el resultado se retrasa, mantenga la misma solicitud y use Read Analysis para el operation_id conocido. No tome una nueva foto ni cree una nueva solicitud automáticamente. Si el usuario retira el consentimiento, elimine la foto y deje de ofrecer el resultado; esto no puede recuperar una copia ya enviada o guardada.
Capacidades y límites
Entrada de imagen planificada: PNG, JPEG o WebP, hasta 5 MiB; solicite nombres de campo distintos 1–32. Revise siempre los valores extraídos. Esto no es verificación de identidad, una comprobación de autenticidad de documentos ni una herramienta de decisión médica. Los cargos del proveedor de IA son independientes.
Configuraciones, acciones y resultados
Utilice estos nombres en Bubble. Las funciones planificadas están marcadas por separado.
Configuraciones beta disponibles
Configuración del elemento
document_side · textbutton_label · textconsent_text · textdisabled · yes/nofields_json · textprocessing_consent_text · textanalyze_button_label · textcheck_button_label · textlanguage · textui_text_json · textEstados
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/noEventos
capture_startedcapture_succeededcapture_cancelledpermission_deniedcapture_erroranalysis_startedanalysis_readyanalysis_pendinganalysis_errorAcciones y sus entradas
Configuración del elemento · 12
Flujo de trabajo planificado. No está disponible aún en la beta actual.
document_sidetext · Predeterminado: "front"- Valor de ejemplo
front - Ejemplo de expresión Bubble
Capture Side Dropdown's value - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
button_labeltext · Predeterminado: ""- Valor de ejemplo
"" - Ejemplo de expresión Bubble
App Texts' capture_label - Texto visible de la aplicación; vacío usa la copia localizada incorporada donde sea compatible. Sin credenciales.
consent_texttext · Predeterminado: ""- Valor de ejemplo
I agree to capture this non-sensitive receipt. - Ejemplo de expresión Bubble
App Texts' capture_consent - Explique el propósito específico de captura/procesamiento y el destinatario. La revocación del consentimiento elimina los bytes retenidos, no las copias anteriores de la aplicación.
disabledyes/no · Predeterminado: false- Valor de ejemplo
no - Ejemplo de expresión Bubble
GuideHost's is_busy (your yes/no custom state) - Desactiva el elemento mientras tu aplicación está ocupada o esta acción no está disponible.
processing_consent_texttext · Predeterminado: ""- Valor de ejemplo
I agree to send this image to the configured AI provider for draft fields. - Ejemplo de expresión Bubble
App Texts' processing_consent - Explique el propósito específico de captura/procesamiento y el destinatario. La revocación del consentimiento elimina los bytes retenidos, no las copias anteriores de la aplicación.
analyze_button_labeltext · Predeterminado: ""- Valor de ejemplo
"" - Ejemplo de expresión Bubble
App Texts' analyze_label - Texto visible de la aplicación; vacío usa la copia localizada incorporada donde sea compatible. Sin credenciales.
languagetext · Predeterminado: "auto"- Valor de ejemplo
uk - Ejemplo de expresión Bubble
Current User's preferred_language - Configurar language=auto para seguir un dispositivo o idioma de navegador compatible. Introduzca un código de idioma compatible para seleccionarlo explícitamente.
ui_text_jsontext · Predeterminado: ""- Valor de ejemplo
{} - Ejemplo de expresión Bubble
App Settings' player_labels_json (supported keys only) - JSON opcional con etiquetas de botón compatibles. Déjalo vacío para usar el texto incorporado.
enable_analysis_exportyes/no · Predeterminado: false- Valor de ejemplo
yes - Ejemplo de expresión Bubble
App Settings' enable_reviewed_extraction - Planificado: permitir que la acción de análisis use la foto después de ambos acuerdos de usuario. Desactivado por defecto.
analysis_contexttext · Predeterminado: ""- Valor de ejemplo
<current-user-id> - Ejemplo de expresión Bubble
Current User's unique id - Valor estable para esta cuenta o registro. Cambiarlo elimina la foto anterior.
is_activeyes/no · Predeterminado: true- Valor de ejemplo
yes - Ejemplo de expresión Bubble
GuideHost's view_is_active (your yes/no custom state) - Establece sí mientras esta vista está abierta. Establece no al salir, para que la reproducción o el trabajo actual puedan detenerse.
fields_jsontext · Predeterminado: "[\"title\",\"date\",\"total\"]"- Valor de ejemplo
["title","date","total"] - Ejemplo de expresión Bubble
Expense Settings' extraction_fields_json - JSON matriz de nombres de campos de extracción solicitados; la salida son datos propuestos para revisión humana.
Acciones y sus entradas · 2
Flujo de trabajo planificado. No está disponible aún en la beta actual.
Analyze Captured Document
image_base64text · Predeterminado: —- Valor de ejemplo
<canonical bytes from consented export> - Ejemplo de expresión Bubble
Document Capture's analysis_image_base64 - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
mime_typetext · Predeterminado: —- Valor de ejemplo
image/jpeg - Ejemplo de expresión Bubble
Document Capture's analysis_mime_type - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
fields_jsontext · Predeterminado: —- Valor de ejemplo
["title","date","total"] - Ejemplo de expresión Bubble
Document Capture's analysis_fields_json - JSON matriz de nombres de campos de extracción solicitados; la salida son datos propuestos para revisión humana.
consentyes/no · Predeterminado: —- Valor de ejemplo
yes — current processing consent - Ejemplo de expresión Bubble
Document Capture's analysis_consent - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
idempotency_keytext · Predeterminado: —- Valor de ejemplo
<unchanged analysis_request_id> - Ejemplo de expresión Bubble
Document Capture's analysis_request_id - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
environmenttext · Predeterminado: —- Valor de ejemplo
development - Ejemplo de expresión Bubble
App Settings' selected_environment - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
Devoluciones
ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/noRead Analysis
operation_idtext · Predeterminado: —- Valor de ejemplo
<returned operation_id> - Ejemplo de expresión Bubble
Current ExpenseDraft's operation_id - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
environmenttext · Predeterminado: —- Valor de ejemplo
development - Ejemplo de expresión Bubble
App Settings' selected_environment - Utilice el valor del registro comercial actual; validarlo contra los límites a continuación.
Devoluciones
ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/noEstados y eventos
Flujo de trabajo planificado. No está disponible aún en la beta actual.
Estados
capture_status · textResultado actual de esta acción. Usa el evento de finalización correspondiente antes de guardar el éxito.
local_uri · textUbicación del archivo en este dispositivo. Guarde o cargue el archivo por separado si debe mantenerse en línea.
mime_type · textValor actual del elemento seleccionado. Léelo después del evento relacionado.
document_side · textValor actual del elemento seleccionado. Léelo después del evento relacionado.
image_width · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
image_height · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
error_code · textInformación de error de la última acción. Muestra un mensaje útil y ofrece el reintento correspondiente.
is_capturing · yes/noValor actual del elemento seleccionado. Léelo después del evento relacionado.
analysis_image_base64 · textValor actual del elemento seleccionado. Léelo después del evento relacionado.
analysis_mime_type · textValor actual del elemento seleccionado. Léelo después del evento relacionado.
analysis_fields_json · textValores sugeridos para los campos solicitados. Muéstrelos para revisión antes de guardar.
analysis_request_id · textIdentificador para este elemento o acción. Manténgalo con el registro de la aplicación correspondiente. Use el mismo identificador de solicitud al reintentar un resultado incierto.
analysis_consent · yes/noValor actual del elemento seleccionado. Léelo después del evento relacionado.
analysis_export_status · textResultado actual de esta acción. Usa el evento de finalización correspondiente antes de guardar el éxito.
analysis_export_error · textInformación de error de la última acción. Muestra un mensaje útil y ofrece el reintento correspondiente.
analysis_image_bytes · numberValor actual del elemento seleccionado. Léelo después del evento relacionado.
Eventos
capture_startedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
capture_succeededCuando ocurra este evento, lea los estados relacionados del mismo elemento.
capture_cancelledCuando ocurra este evento, lea los estados relacionados del mismo elemento.
permission_deniedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
capture_errorCuando ocurra este evento, lea los estados relacionados del mismo elemento.
analysis_requestedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
analysis_export_errorCuando ocurra este evento, lea los estados relacionados del mismo elemento.
analysis_clearedCuando ocurra este evento, lea los estados relacionados del mismo elemento.
Preguntas que hacen los desarrolladores
¿Verifica la identidad o los documentos?
No. Propone campos de texto para revisión. Una imagen de documento capturada no establece identidad, autenticidad ni una conclusión médica/financiera.
¿Cómo funciona la suscripción?
Precios planificados: instalar el plugin en Bubble es gratuito. El acceso a BestPlugins es una suscripción separada para cada plugin en cada proyecto de aplicación Bubble: 7 días gratis, luego US$1.50 por mes. Development y Live están incluidos. No hay un límite fijo en la cantidad de operaciones; los límites de tamaño de archivo y de funciones siguen aplicando. El proceso de compra aún no está abierto. La pantalla de activación mostrará la primera fecha de facturación y los términos de cancelación.
Guías relacionadas
Lanzamiento de Marketplace pendiente
Guía del foro no publicada
Para obtener ayuda, indíquenos qué plugin y dispositivo utiliza, la acción que intentó y lo que ocurrió. Use un ejemplo sin datos personales. Nunca comparta su clave ni archivos privados.