Documents AI interface de captura de foto. A extração de campo está planejada.
Documents AI interface de captura de foto. A extração de campo está planejada.
← Todos os guias nativos

Xodera Plugins · Bubble Native

Xodera Documents AI Native

Transforme uma foto de recibo ou entrega em um formulário rascunho. Deixe a IA sugerir a data, o total e outros campos solicitados, e então permita que uma pessoa os revise antes de salvar.

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.

Documentação revisada 6 novembro 2026

Exemplos práticos

Pré-preencher um rascunho de despesa a partir de foto de recibo

A digitação repetida de comerciante, data e total retarda a inserção de despesas; os campos extraídos podem ser um rascunho revisável.

`fields_json = ["merchant","date","total","currency"]`; o usuário captura uma imagem de recibo e consente separadamente com o processamento. Use apenas recibos de exemplo durante os testes.

Planejado: `analysis_requested` → Analyze Captured Document usando os bytes exportados limitados/MIME/nomes de campo/consentimento/ID da solicitação → exiba os campos retornados no seu formulário de Despesa editável.

A ação retorna `status`, `operation_id`, `fields_json` e `review_required`. Seu usuário corrige/aprova os campos antes que seu fluxo de trabalho crie uma Despesa.

Em um resultado incerto, Read Analysis com o mesmo `operation_id`; não emita outra análise automaticamente. A retirada do consentimento limpa a captura/exportação retida; nunca persista base64 bruto em um Thing público ou em logs.

Planejado. Uma pessoa deve revisar cada valor sugerido antes de salvar.

Leia a referência da nota de entrega para um formulário de revisão de equipe

Um usuário de armazém deve poder revisar uma referência/data sugerida em vez de digitá‑la a partir de um comprovante fotografado.

`fields_json = ["delivery_reference","supplier","delivery_date"]`; capture o lado relevante de uma nota de entrega de amostra durante o teste.

Após consentimento separado de captura/processamento, Analyze Captured Document propõe os campos selecionados. Mostre a fotografia ao lado dos campos editáveis e peça ao staff que confirme o registro de Entrega correspondente.

Mantenha o `operation_id` retornado para verificar o resultado novamente e `fields_json` como proposta. Seu fluxo de trabalho executa a busca/atualização real da entrega somente após a revisão da equipe.

Campos ausentes, ambíguos ou incorretos exigem correção manual. Um erro do provedor deixa a entrega original inalterada; Read Analysis verifica o resultado de uma operação incerta.

Planejado. Uma pessoa deve revisar cada valor sugerido antes de salvar.

Sugira um número de série do equipamento a partir de uma foto da etiqueta

Um formulário de manutenção pode oferecer uma sugestão de modelo/número de série revisável quando a etiqueta do ativo é difícil de digitar.

`fields_json = ["manufacturer","model","serial_number"]`; capture uma imagem de etiqueta de equipamento de amostra; escolha seu provedor de IA nas configurações do projeto.

A ação planejada Analyze Captured Document retorna strings propostas. Exiba-as ao lado da foto; permita que o usuário as corrija antes da busca ou do fluxo de trabalho de manutenção do ativo.

Use os `fields_json`, `review_required` e `operation_id` retornados. Trate os identificadores como texto para que seu aplicativo preserve os zeros à esquerda.

Se a imagem estiver ilegível ou o modelo propor uma string incorreta, permita a entrada manual. Leia a mesma operação após uma resposta incerta em vez de cobrar outra inferência.

Planejado. Uma pessoa deve revisar cada valor sugerido antes de salvar.

O que funciona agora

Beta privado. Captura de foto está disponível para testes. A extração de campos da foto está planejada e ainda não está pronta para uso em seu aplicativo.

Crie o fluxo de trabalho

Planeado

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

Estes exemplos utilizam registros de aplicativo como Lesson, Message e Order. Substitua-os pelos seus próprios tipos de dados e nomes de elementos. Endereços de mídia de exemplo devem ser substituídos pelos seus próprios arquivos.

  1. Planejado: escolha os campos que seu formulário precisa, por exemplo fields_json=["title","date","total"]. Habilite enable_analysis_export e defina analysis_context para a conta ou registro selecionado. Essas configurações de análise não estão disponíveis na versão atual de captura.

  2. Permita que o usuário tire uma foto e concorde separadamente com o processamento. Em analysis_requested, execute Analyze Captured Document usando o analysis_image_base64, analysis_mime_type, analysis_fields_json e analysis_consent deste elemento. Use analysis_request_id como idempotency_key.

  3. Salve o operation_id, request_id retornados e o status. Se o status for processing, use Read Analysis com esse operation_id para buscar o resultado mais tarde.

  4. Exiba o fields_json retornado em um formulário de revisão editável. Salve os valores aprovados somente depois que o usuário os verificar e pressionar Confirmar. Mantenha o registro original até essa confirmação.

Diagrama de fluxo de trabalho — não é uma captura de tela do aplicativo

Configure uma vez

Crie ou escolha seu projeto de aplicativo Bubble em BestPlugins → Dashboard → Plugins. Escolha Xodera Documents AI Native, copie sua chave, então abra Bubble → Plugins → Xodera Documents AI Native e cole-a em project_api_key. Salve uma vez; depois use as ações abaixo. Cada plugin em cada projeto tem sua própria chave.

Solicite permissão de câmera e explique por que a foto é necessária. O processamento requer um acordo de usuário separado. Escolha seu provedor de IA nas configurações do projeto; o uso é cobrado por esse provedor.

Configure uma vez
  1. Crie ou escolha seu projeto de aplicativo Bubble em BestPlugins → Dashboard → Plugins.
  2. Escolha este plugin e copie sua chave de projeto.
  3. Abra Bubble → Plugins → Xodera Documents AI Native; cole a chave em project_api_key e salve.
  4. Adicione o elemento, escolha os dados do seu aplicativo e construa o fluxo de trabalho abaixo.
  5. Acesso beta privado apenas por enquanto. Instalação pública e ativação paga ainda não estão disponíveis.
Instalação e assinatura

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.

Salve o resultado no seu aplicativo

Exemplo ExpenseDraft: proprietário, operation_id, request_id, status e proposed_fields_json. Após a revisão, salve a data aprovada, o total e outros campos, além de reviewed_by e reviewed_at. Mapeie apenas os campos solicitados pelo seu formulário. Não registre o conteúdo completo da imagem em logs ou registros de texto comuns.

Falha, cancelamento e recuperação

Se o resultado for atrasado, mantenha a mesma solicitação e use Read Analysis para o operation_id conhecido. Não tire uma nova foto nem crie uma nova solicitação automaticamente. Se o usuário retirar o consentimento, limpe a foto e pare de oferecer o resultado; isso não pode recuperar uma cópia já enviada ou salva.

Capacidades e limites

Entrada de imagem planejada: PNG, JPEG ou WebP, até 5 MiB; solicite 1–32 com nomes de campo distintos. Revise sempre os valores extraídos. Isto não é verificação de identidade, verificação de autenticidade de documento ou ferramenta de decisão médica. As cobranças do provedor de IA são separadas.

Configurações, ações e resultados

Use esses nomes em Bubble. Recursos planejados são marcados separadamente.

Configurações beta disponíveis

Configurações do elemento

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

Estados

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

Eventos

capture_startedcapture_succeededcapture_cancelledpermission_deniedcapture_erroranalysis_startedanalysis_readyanalysis_pendinganalysis_error

Ações e suas entradas

Configurações do elemento · 12

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

document_sidetext · Padrão: "front"
Valor de exemplofront
Exemplo de expressão BubbleCapture Side Dropdown's value
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
button_labeltext · Padrão: ""
Valor de exemplo""
Exemplo de expressão BubbleApp Texts' capture_label
Texto visível do aplicativo; vazio usa a cópia localizada incorporada onde suportado. Sem credenciais.
consent_texttext · Padrão: ""
Valor de exemploI agree to capture this non-sensitive receipt.
Exemplo de expressão BubbleApp Texts' capture_consent
Explique o propósito específico de captura/processamento e o destinatário. A retirada do consentimento limpa os bytes retidos, não as cópias anteriores do aplicativo.
disabledyes/no · Padrão: false
Valor de exemplono
Exemplo de expressão BubbleGuideHost's is_busy (your yes/no custom state)
Desative o elemento enquanto seu aplicativo estiver ocupado ou esta ação estiver indisponível.
processing_consent_texttext · Padrão: ""
Valor de exemploI agree to send this image to the configured AI provider for draft fields.
Exemplo de expressão BubbleApp Texts' processing_consent
Explique o propósito específico de captura/processamento e o destinatário. A retirada do consentimento limpa os bytes retidos, não as cópias anteriores do aplicativo.
analyze_button_labeltext · Padrão: ""
Valor de exemplo""
Exemplo de expressão BubbleApp Texts' analyze_label
Texto visível do aplicativo; vazio usa a cópia localizada incorporada onde suportado. Sem credenciais.
languagetext · Padrão: "auto"
Valor de exemplouk
Exemplo de expressão BubbleCurrent User's preferred_language
Defina language=auto para seguir um idioma de dispositivo ou navegador suportado. Insira um código de idioma suportado para escolhê-lo explicitamente.
ui_text_jsontext · Padrão: ""
Valor de exemplo{}
Exemplo de expressão BubbleApp Settings' player_labels_json (supported keys only)
JSON opcional com rótulos de botão suportados. Deixe vazio para usar o texto incorporado.
enable_analysis_exportyes/no · Padrão: false
Valor de exemployes
Exemplo de expressão BubbleApp Settings' enable_reviewed_extraction
Planejado: permitir que a ação de análise use a foto após ambos os acordos do usuário. Desativado por padrão.
analysis_contexttext · Padrão: ""
Valor de exemplo<current-user-id>
Exemplo de expressão BubbleCurrent User's unique id
Valor estável para esta conta ou registro. Alterá‑lo limpa a foto anterior.
is_activeyes/no · Padrão: true
Valor de exemployes
Exemplo de expressão BubbleGuideHost's view_is_active (your yes/no custom state)
Defina sim enquanto esta visualização estiver aberta. Defina não ao sair, para que a reprodução ou o trabalho atual possam parar.
fields_jsontext · Padrão: "[\"title\",\"date\",\"total\"]"
Valor de exemplo["title","date","total"]
Exemplo de expressão BubbleExpense Settings' extraction_fields_json
JSON array de nomes de campos de extração solicitados; a saída são dados propostos para revisão humana.
Ações e suas entradas · 2

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

Analyze Captured Document
image_base64text · Padrão: —
Valor de exemplo<canonical bytes from consented export>
Exemplo de expressão BubbleDocument Capture's analysis_image_base64
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
mime_typetext · Padrão: —
Valor de exemploimage/jpeg
Exemplo de expressão BubbleDocument Capture's analysis_mime_type
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
fields_jsontext · Padrão: —
Valor de exemplo["title","date","total"]
Exemplo de expressão BubbleDocument Capture's analysis_fields_json
JSON array de nomes de campos de extração solicitados; a saída são dados propostos para revisão humana.
consentyes/no · Padrão: —
Valor de exemployes — current processing consent
Exemplo de expressão BubbleDocument Capture's analysis_consent
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
idempotency_keytext · Padrão: —
Valor de exemplo<unchanged analysis_request_id>
Exemplo de expressão BubbleDocument Capture's analysis_request_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
environmenttext · Padrão: —
Valor de exemplodevelopment
Exemplo de expressão BubbleApp Settings' selected_environment
Use o valor do registro comercial atual; valide-o contra os limites abaixo.

Devoluções

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Read Analysis
operation_idtext · Padrão: —
Valor de exemplo<returned operation_id>
Exemplo de expressão BubbleCurrent ExpenseDraft's operation_id
Use o valor do registro comercial atual; valide-o contra os limites abaixo.
environmenttext · Padrão: —
Valor de exemplodevelopment
Exemplo de expressão BubbleApp Settings' selected_environment
Use o valor do registro comercial atual; valide-o contra os limites abaixo.

Devoluções

ok · yes/nostatus · textoperation_id · textrequest_id · textfields_json · texterror_code · textreview_required · yes/no
Estados e eventos

Fluxo de trabalho planejado. Ainda não está disponível na beta atual.

Estados

capture_status · text

Resultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.

local_uri · text

Localização do arquivo neste dispositivo. Salve ou faça upload do arquivo separadamente se precisar mantê‑lo online.

mime_type · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

document_side · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

image_width · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

image_height · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

error_code · text

Informações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.

is_capturing · yes/no

Valor atual do item selecionado. Leia-o após o evento relacionado.

analysis_image_base64 · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

analysis_mime_type · text

Valor atual do item selecionado. Leia-o após o evento relacionado.

analysis_fields_json · text

Valores sugeridos para os campos solicitados. Exiba‑os para revisão antes de salvar.

analysis_request_id · text

Identificador para este item ou ação. Mantenha-o com o registro de aplicativo correspondente. Use o mesmo identificador de solicitação ao tentar novamente um resultado incerto.

analysis_consent · yes/no

Valor atual do item selecionado. Leia-o após o evento relacionado.

analysis_export_status · text

Resultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.

analysis_export_error · text

Informações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.

analysis_image_bytes · number

Valor atual do item selecionado. Leia-o após o evento relacionado.

Eventos

capture_started

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

capture_succeeded

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

capture_cancelled

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

permission_denied

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

capture_error

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

analysis_requested

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

analysis_export_error

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

analysis_cleared

Quando este evento ocorrer, leia os estados relacionados do mesmo elemento.

Perguntas que os desenvolvedores fazem

Ele verifica identidade ou documentos?

Não. Ele propõe campos de texto para revisão. Uma imagem de documento capturada não estabelece identidade, autenticidade ou uma conclusão médica/financeira.

Como funciona a assinatura?

Preço planejado: instalar o plugin em Bubble é gratuito. O acesso a BestPlugins é uma assinatura separada para cada plugin em cada projeto de aplicativo Bubble: 7 dias gratuitos, depois US$1.50 por mês. Development e Live estão incluídos. Não há limite fixo no número de operações; limites de tamanho de arquivo e de recursos ainda se aplicam. O checkout ainda não está aberto. A tela de ativação mostrará a primeira data de cobrança e os termos de cancelamento.

Guias relacionados

Lançamento de Marketplace pendente

Guia do fórum não publicado

Para obter ajuda, informe qual plugin e dispositivo você usa, a ação que tentou e o que aconteceu. Use um exemplo sem dados pessoais. Nunca compartilhe sua chave ou arquivos privados.