Interfície de captura de fotos Documents AI. L'extracció de camps està planificada.
Interfície de captura de fotos Documents AI. L'extracció de camps està planificada.
← Totes les guies natives

Xodera Plugins · Bubble Native

Xodera Documents AI Native

Converteix una foto de rebut o de lliurament en un formulari esborrany. Deixa que la IA suggereixi la data, el total i altres camps sol·licitats, i després permet que una persona els revisi abans d'enregistrar-los.

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ó revisada 6 novembre 2026

Exemples pràctics

Omple prèviament un esborrany de despesa a partir d'una foto de rebut

L'escriptura repetida del comerciant, data i total alentix l'entrada de despeses; els camps extrets poden ser un esborrany revisable.

`fields_json = ["merchant","date","total","currency"]`; l'usuari captura una imatge de rebut i dóna el consentiment per al processament per separat. Utilitzeu només rebuts de mostra durant les proves.

Planificat: `analysis_requested` → Analyze Captured Document utilitzant els bytes exportats limitats/MIME/noms de camps/consentiment/ID de sol·licitud → mostreu els camps retornats al vostre formulari d'Despeses editable.

L'acció retorna `status`, `operation_id`, `fields_json` i `review_required`. El vostre usuari corregeix/aprova els camps abans que el vostre flux de treball creï una Despesa.

En un resultat incert, Read Analysis amb el mateix `operation_id`; no emeteu una altra anàlisi automàticament. La retirada del consentiment elimina la captura/exportació retenida; mai no emmagatzemeu base64 cru en una Entitat pública o registres.

Planificat. Una persona ha de revisar cada valor suggerit abans de desar.

Llegiu una referència de nota de lliurament per a un formulari de revisió del personal

Un usuari del magatzem hauria de poder revisar una referència/data suggerida en lloc d'escriure-la a partir d'una fotografia d'un comprovant en paper.

`fields_json = ["delivery_reference","supplier","delivery_date"]`; captureu la cara rellevant d'una nota de lliurament de mostra durant les proves.

Després del consentiment separat per a captura/processament, Analyze Captured Document proposa els camps seleccionats. Mostreu la fotografia al costat dels camps editables i demaneu al personal que confirmi el registre de Lliurament coincident.

Conserveu el `operation_id` retornat per comprovar el resultat de nou i `fields_json` com a proposta. El vostre flux de treball realitza la cerca/actualització real del Lliurament només després de la revisió del personal.

Els camps que falten, són ambigus o incorrectes requereixen correcció manual. Un error del proveïdor deixa el Lliurament original sense canvis; Read Analysis comprova el resultat d'una operació incerta.

Planificat. Una persona ha de revisar cada valor suggerit abans de desar.

Suggeriu un número de sèrie d'equipament a partir d'una foto d'etiqueta

Un formulari de manteniment pot oferir una suggerència de model/sèrie revisable quan l'etiqueta d'un actiu és incòmoda d'escriure.

`fields_json = ["manufacturer","model","serial_number"]`; captureu una imatge d'etiqueta d'equipament de mostra; trieu el vostre proveïdor d'IA a la configuració del projecte.

L'acció planificada Analyze Captured Document retorna cadenes proposades. Mostreu-les al costat de la foto; permeteu que l'usuari les corregeixi abans de la cerca d'Actiu o del flux de treball de manteniment.

Utilitzeu `fields_json`, `review_required` i `operation_id` retornats. Tracteu els identificadors com a text perquè la vostra aplicació conservi els zeros inicials.

Si la imatge és il·legible o el model proposa una cadena incorrecta, permeteu l'entrada manual. Llegiu la mateixa operació després d'una resposta incerta en lloc de cobrar una altra inferència.

Planificat. Una persona ha de revisar cada valor suggerit abans de desar.

Què funciona ara

Beta privada. La captura de fotos està disponible per a proves. L'extracció de camps de la foto està prevista i encara no està preparada per al vostre aplicació.

Crea el flux de treball

Planificat

Flux de treball planificat. No disponible a la beta actual.

Aquests exemples utilitzen registres d'aplicació com Lesson, Message i Order. Substituïu-los amb els vostres propis tipus de dades i noms d'elements. Les adreces multimèdia d'exemple s'han de substituir per els vostres propis fitxers.

  1. Previst: trieu els camps que el vostre formulari necessita, per exemple fields_json=["title","date","total"]. Activeu enable_analysis_export i establiu analysis_context al compte o registre seleccionat. Aquesta configuració d'anàlisi no està disponible a la versió actual de captura.

  2. Permeteu que l'usuari faci una foto i acordi separadament el processament. A analysis_requested, executeu Analyze Captured Document utilitzant analysis_image_base64, analysis_mime_type, analysis_fields_json i analysis_consent d'aquest element. Utilitzeu analysis_request_id com a idempotency_key.

  3. Deseu operation_id, request_id i status retornats. Si status té el valor processing, utilitzeu Read Analysis amb aquest operation_id per obtenir el resultat més tard.

  4. Mostreu el fields_json retornat en un formulari de revisió editable. Deseu els valors aprovats només després que l'usuari els revisi i premi Confirmar. Mantingueu el registre original fins a aquesta confirmació.

Diagrama de flux de treball — no és una captura de pantalla de l'aplicació

Configura una vegada

Creeu o trieu el vostre projecte d’aplicació Bubble a BestPlugins → Dashboard → Plugins. Trieu Xodera Documents AI Native, copieu la seva clau i, a continuació, obriu Bubble → Plugins → Xodera Documents AI Native i enganxeu‑la a project_api_key. Deseu una vegada; després utilitzeu les accions a continuació. Cada connector en cada projecte té la seva pròpia clau.

Demaneu permís per a la càmera i expliqueu per què es necessita la foto. El processament requereix el consentiment separat de l'usuari. Trieu el vostre proveïdor d'IA a la configuració del projecte; el seu ús es factura per aquest proveïdor.

Configura una vegada
  1. Creeu o trieu el vostre projecte d’aplicació Bubble a BestPlugins → Dashboard → Plugins.
  2. Trieu aquest connector i copieu la clau del projecte.
  3. Obriu Bubble → Plugins → Xodera Documents AI Native; enganxeu la clau a project_api_key i deseu.
  4. Afegiu l’element, trieu les vostres dades d’aplicació i construïu el flux de treball a continuació.
  5. Accés a la beta privada només per ara. La instal·lació pública i l’activació de pagament encara no estan obertes.
Instal·lació i subscripció

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.

Desa el resultat a la teva aplicació

Exemple ExpenseDraft: propietari, operation_id, request_id, estat i proposed_fields_json. Després de la revisió, deseu la data aprovada, el total i altres camps, més reviewed_by i reviewed_at. Mapeu només els camps que el vostre formulari ha sol·licitat. No inclogueu el contingut complet de la imatge en registres de registre o textos ordinaris.

Fallada, cancel·lació i recuperació

Si el resultat es retarda, mantingueu la mateixa sol·licitud i utilitzeu Read Analysis per al operation_id conegut. No feu una nova foto ni creeu una nova sol·licitud automàticament. Si l'usuari retira el consentiment, esborreu la foto i deixeu d'oferir el resultat; això no pot retirar una còpia ja enviada o desada.

Capacitats i límits

Entrada d'imatge prevista: PNG, JPEG o WebP, fins a 5 MiB; sol·liciteu noms de camps distintius 1–32. Reviseu sempre els valors extrets. Això no és verificació d'identitat, ni una comprovació d'autenticitat de documents ni una eina de decisió mèdica. Els càrrecs del proveïdor d'IA són separats.

Configuracions, accions i resultats

Utilitzeu aquests noms a Bubble. Les funcions planificades es marquen per separat.

Configuracions beta disponibles

Configuració de l'element

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

Estats

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

Esdeveniments

capture_startedcapture_succeededcapture_cancelledpermission_deniedcapture_erroranalysis_startedanalysis_readyanalysis_pendinganalysis_error

Accions i les seves entrades

Configuració de l'element · 12

Flux de treball planificat. No disponible a la beta actual.

document_sidetext · Per defecte: "front"
Valor d'exemplefront
Exemple d'expressió BubbleCapture Side Dropdown's value
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
button_labeltext · Per defecte: ""
Valor d'exemple""
Exemple d'expressió BubbleApp Texts' capture_label
Text visible de l'aplicació; buit utilitza la còpia localitzada integrada quan sigui compatible. No hi ha credencials.
consent_texttext · Per defecte: ""
Valor d'exempleI agree to capture this non-sensitive receipt.
Exemple d'expressió BubbleApp Texts' capture_consent
Expliqueu l'objectiu específic de captura/processament i el destinatari. La retirada del consentiment elimina els bytes retenuts, no les còpies prèvies de l'aplicació.
disabledyes/no · Per defecte: false
Valor d'exempleno
Exemple d'expressió BubbleGuideHost's is_busy (your yes/no custom state)
Desactiva l'element mentre l'aplicació està ocupada o aquesta acció no està disponible.
processing_consent_texttext · Per defecte: ""
Valor d'exempleI agree to send this image to the configured AI provider for draft fields.
Exemple d'expressió BubbleApp Texts' processing_consent
Expliqueu l'objectiu específic de captura/processament i el destinatari. La retirada del consentiment elimina els bytes retenuts, no les còpies prèvies de l'aplicació.
analyze_button_labeltext · Per defecte: ""
Valor d'exemple""
Exemple d'expressió BubbleApp Texts' analyze_label
Text visible de l'aplicació; buit utilitza la còpia localitzada integrada quan sigui compatible. No hi ha credencials.
languagetext · Per defecte: "auto"
Valor d'exempleuk
Exemple d'expressió BubbleCurrent User's preferred_language
Estableix language=auto per seguir un dispositiu o idioma del navegador compatible. Introdueix un codi d'idioma compatible per seleccionar-lo explícitament.
ui_text_jsontext · Per defecte: ""
Valor d'exemple{}
Exemple d'expressió BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional amb etiquetes de botó compatibles. Deixa buit per utilitzar el text integrat.
enable_analysis_exportyes/no · Per defecte: false
Valor d'exempleyes
Exemple d'expressió BubbleApp Settings' enable_reviewed_extraction
Planificat: permetre que l'acció d'anàlisi utilitzi la foto després de tots dos acords d'usuari. Desactivat per defecte.
analysis_contexttext · Per defecte: ""
Valor d'exemple<current-user-id>
Exemple d'expressió BubbleCurrent User's unique id
Valor estable per a aquest compte o registre. Canviar-lo elimina la foto anterior.
is_activeyes/no · Per defecte: true
Valor d'exempleyes
Exemple d'expressió BubbleGuideHost's view_is_active (your yes/no custom state)
Estableix sí mentre aquesta vista està oberta. Estableix no en sortir, perquè la reproducció o l'obra actual puguin aturar-se.
fields_jsontext · Per defecte: "[\"title\",\"date\",\"total\"]"
Valor d'exemple["title","date","total"]
Exemple d'expressió BubbleExpense Settings' extraction_fields_json
JSON matriu de noms de camps d'extracció sol·licitats; la sortida són dades proposades per a revisió humana.
Accions i les seves entrades · 2

Flux de treball planificat. No disponible a la beta actual.

Analyze Captured Document
image_base64text · Per defecte: —
Valor d'exemple<canonical bytes from consented export>
Exemple d'expressió BubbleDocument Capture's analysis_image_base64
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
mime_typetext · Per defecte: —
Valor d'exempleimage/jpeg
Exemple d'expressió BubbleDocument Capture's analysis_mime_type
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
fields_jsontext · Per defecte: —
Valor d'exemple["title","date","total"]
Exemple d'expressió BubbleDocument Capture's analysis_fields_json
JSON matriu de noms de camps d'extracció sol·licitats; la sortida són dades proposades per a revisió humana.
consentyes/no · Per defecte: —
Valor d'exempleyes — current processing consent
Exemple d'expressió BubbleDocument Capture's analysis_consent
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
idempotency_keytext · Per defecte: —
Valor d'exemple<unchanged analysis_request_id>
Exemple d'expressió BubbleDocument Capture's analysis_request_id
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
environmenttext · Per defecte: —
Valor d'exempledevelopment
Exemple d'expressió BubbleApp Settings' selected_environment
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.

Valors retornats

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Read Analysis
operation_idtext · Per defecte: —
Valor d'exemple<returned operation_id>
Exemple d'expressió BubbleCurrent ExpenseDraft's operation_id
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.
environmenttext · Per defecte: —
Valor d'exempledevelopment
Exemple d'expressió BubbleApp Settings' selected_environment
Utilitza el valor del registre empresarial actual; valida'l respecte als límits següents.

Valors retornats

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Estats i esdeveniments

Flux de treball planificat. No disponible a la beta actual.

Estats

capture_status · text

Resultat actual d'aquesta acció. Utilitza l'esdeveniment de finalització coincident abans d'enregistrar l'èxit.

local_uri · text

Ubicació del fitxer en aquest dispositiu. Deseu o pugeu el fitxer per separat si ha de quedar en línia.

mime_type · text

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

document_side · text

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

image_width · number

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

image_height · number

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

error_code · text

Informació d'error de l'última acció. Mostra un missatge útil i ofereix el reintent corresponent.

is_capturing · yes/no

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

analysis_image_base64 · text

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

analysis_mime_type · text

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

analysis_fields_json · text

Valors suggerits per als camps sol·licitats. Mostra'ls per a revisió abans de desar.

analysis_request_id · text

Identificador per a aquest element o acció. Conserva'l amb el registre d'aplicació corresponent. Utilitza el mateix identificador de sol·licitud en tornar a intentar un resultat incert.

analysis_consent · yes/no

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

analysis_export_status · text

Resultat actual d'aquesta acció. Utilitza l'esdeveniment de finalització coincident abans d'enregistrar l'èxit.

analysis_export_error · text

Informació d'error de l'última acció. Mostra un missatge útil i ofereix el reintent corresponent.

analysis_image_bytes · number

Valor actual de l'element seleccionat. Llegeix-lo després de l'esdeveniment relacionat.

Esdeveniments

capture_started

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

capture_succeeded

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

capture_cancelled

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

permission_denied

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

capture_error

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

analysis_requested

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

analysis_export_error

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

analysis_cleared

Quan es produeixi aquest esdeveniment, llegiu els estats relacionats del mateix element.

Preguntes que fan els desenvolupadors

Verifica la identitat o els documents?

No. Proposa camps de text per a revisió. Una imatge de document capturada no estableix la identitat, l'autenticitat ni una conclusió mèdica o financera.

Com funciona la subscripció?

Preu planificat: instal·lar el connector a Bubble és gratuït. L'accés a BestPlugins és una subscripció separada per a cada connector en cada projecte d'aplicació Bubble: 7 dies gratuïts, després US$1.50 al mes. Development i Live estan inclosos. No hi ha un límit fix al nombre d'operacions; els límits de mida de fitxer i de funcionalitats continuen aplicant-se. La compra encara no està oberta. La pantalla d'activació mostrarà la data de facturació inicial i les condicions de cancel·lació.

Guies relacionades

Llançament de Marketplace pendent

Guia del fòrum no publicada

Per obtenir ajuda, indiqueu quin connector i dispositiu utilitzeu, l'acció que heu provat i què ha passat. Utilitzeu un exemple sense dades personals. No compartiu mai la vostra clau ni fitxers privats.