
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.
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.
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.
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.
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.
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
- Crie ou escolha seu projeto de aplicativo Bubble em BestPlugins → Dashboard → Plugins.
- Escolha este plugin e copie sua chave de projeto.
- Abra Bubble → Plugins → Xodera Documents AI Native; cole a chave em project_api_key e salve.
- Adicione o elemento, escolha os dados do seu aplicativo e construa o fluxo de trabalho abaixo.
- 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 · 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_errorAçõ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 exemplo
front - Exemplo de expressão Bubble
Capture 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 Bubble
App 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 exemplo
I agree to capture this non-sensitive receipt. - Exemplo de expressão Bubble
App 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 exemplo
no - Exemplo de expressão Bubble
GuideHost'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 exemplo
I agree to send this image to the configured AI provider for draft fields. - Exemplo de expressão Bubble
App 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 Bubble
App 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 exemplo
uk - Exemplo de expressão Bubble
Current 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 Bubble
App 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 exemplo
yes - Exemplo de expressão Bubble
App 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 Bubble
Current 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 exemplo
yes - Exemplo de expressão Bubble
GuideHost'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 Bubble
Expense 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 Bubble
Document Capture's analysis_image_base64 - Use o valor do registro comercial atual; valide-o contra os limites abaixo.
mime_typetext · Padrão: —- Valor de exemplo
image/jpeg - Exemplo de expressão Bubble
Document 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 Bubble
Document 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 exemplo
yes — current processing consent - Exemplo de expressão Bubble
Document 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 Bubble
Document Capture's analysis_request_id - Use o valor do registro comercial atual; valide-o contra os limites abaixo.
environmenttext · Padrão: —- Valor de exemplo
development - Exemplo de expressão Bubble
App 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/noRead Analysis
operation_idtext · Padrão: —- Valor de exemplo
<returned operation_id> - Exemplo de expressão Bubble
Current ExpenseDraft's operation_id - Use o valor do registro comercial atual; valide-o contra os limites abaixo.
environmenttext · Padrão: —- Valor de exemplo
development - Exemplo de expressão Bubble
App 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/noEstados e eventos
Fluxo de trabalho planejado. Ainda não está disponível na beta atual.
Estados
capture_status · textResultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.
local_uri · textLocalização do arquivo neste dispositivo. Salve ou faça upload do arquivo separadamente se precisar mantê‑lo online.
mime_type · textValor atual do item selecionado. Leia-o após o evento relacionado.
document_side · textValor atual do item selecionado. Leia-o após o evento relacionado.
image_width · numberValor atual do item selecionado. Leia-o após o evento relacionado.
image_height · numberValor atual do item selecionado. Leia-o após o evento relacionado.
error_code · textInformações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.
is_capturing · yes/noValor atual do item selecionado. Leia-o após o evento relacionado.
analysis_image_base64 · textValor atual do item selecionado. Leia-o após o evento relacionado.
analysis_mime_type · textValor atual do item selecionado. Leia-o após o evento relacionado.
analysis_fields_json · textValores sugeridos para os campos solicitados. Exiba‑os para revisão antes de salvar.
analysis_request_id · textIdentificador 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/noValor atual do item selecionado. Leia-o após o evento relacionado.
analysis_export_status · textResultado atual desta ação. Use o evento de conclusão correspondente antes de salvar o sucesso.
analysis_export_error · textInformações de erro da última ação. Exiba uma mensagem útil e ofereça a tentativa de novo relevante.
analysis_image_bytes · numberValor atual do item selecionado. Leia-o após o evento relacionado.
Eventos
capture_startedQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
capture_succeededQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
capture_cancelledQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
permission_deniedQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
capture_errorQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
analysis_requestedQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
analysis_export_errorQuando este evento ocorrer, leia os estados relacionados do mesmo elemento.
analysis_clearedQuando 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.