Como guardar submissões de PDF editados no Supabase

Profile picture of Benjamin André-Micolon

Adicionou o SimplePDF à sua aplicação ou ao seu AI Agent e gostaria de guardar as submissões de PDF no seu Supabase Storage.

Pode, por exemplo:

  • Automatizar ainda mais o tratamento das submissões: por exemplo, extrair os dados dos formulários para os processar
  • Guardar o PDF num vector store para oferecer pesquisa semântica ou detetar automaticamente duplicados ou semelhanças nos PDFs submetidos

Para este tutorial vamos usar duas funcionalidades PRO do SimplePDF:

  1. A integração de webhooks - em conjunto com Supabase Edge Functions

O código da Supabase Edge Function pode ser encontrado aqui

  1. A integração S3 - em conjunto com Supabase Storage

Configurar o Supabase Storage para as submissões de PDF

Nesta secção vamos guiá-lo na configuração do Supabase Storage como armazenamento para as submissões de PDF editados (e documentos) em vez do armazenamento predefinido do SimplePDF.

  1. Aceda a Storage no seu projeto Supabase e clique em New bucket

  2. Dê um nome ao seu bucket, mantenha-o privado (não ative Public bucket) e clique em Save

Criar um bucket no Supabase Storage

  1. Nas definições de Storage, crie novas S3 Access Keys

Criar S3 Access Keys no Supabase

  1. Aceda à sua conta SimplePDF e configure o armazenamento S3 da seguinte forma:

Pode encontrar um guia passo a passo aqui

Endpoint: <COPIE o endpoint na S3 Connection nas definições de Storage do Supabase>
Path-style: <ATIVE>
Region: <SELECIONE a região visível na S3 Connection nas definições de Storage do Supabase>
Bucket: <INTRODUZA o nome do bucket: no nosso exemplo usámos "pdf">
Access Key ID: <COLE o valor obtido no passo 3. acima>
Secret Access Key: <COLE o valor obtido no passo 3. acima>

Configurar S3 no SimplePDF

  1. Clique em Update e aceda ao seu Supabase Storage: note que um novo ficheiro foi adicionado automaticamente, o que confirma que a configuração está pronta!

Pode eliminar este ficheiro: não vai precisar mais dele

Configuração S3 concluída no Supabase

Configurar uma nova tabela Supabase para guardar os metadados das submissões de PDF

Nesta secção vamos criar uma nova tabela para guardar os metadados que recebemos do SimplePDF para cada nova submissão. Vamos usar Supabase Edge Functions para inserir os dados na tabela.

Se quiser avançar e saltar o tutorial, pode ver o código-fonte completo, definição da tabela e pré-requisitos aqui

  1. Aceda a Database > Tables e crie uma nova tabela - vamos chamá-la simplepdf_submissions

  2. Defina o seguinte esquema: Pode ver o esquema definido em SQL no Github aqui

  • id: int8 - Primary
  • document_name: text
  • document_id: text
  • submission_id: text
  • submission_bucket_path: text
  • context: jsonb

Tabela criada no Supabase

  1. Faça deploy da Edge Function pronta que criámos para si: código-fonte no Github
npm i
npm run deploy
  1. Crie uma nova política RLS para permitir que esta Edge Function insira linhas na tabela simplepdf_submissions:

Para uso em produção, recomendamos uma política RLS mais restrita ou autenticar as chamadas de webhook passando um cabeçalho de autorização do lado do SimplePDF

alter policy "Allow edge function to insert into simplepdf_submissions"
  on "public"."simplepdf_submissions"
  to anon
  with check (true);

Política RLS criada

  1. Copie o URL da Edge Function simplepdf-webhooks na secção Edge Functions no Supabase

Copiar URL da Edge Function

  1. Aceda ao SimplePDF e configure os webhooks para apontar para a sua função simplepdf-webhooks deployada

Pode encontrar um guia passo a passo aqui

Webhooks configurados no SimplePDF

E pronto! A integração está pronta! Armazenamento de PDFs editados no Supabase Storage e gravação de eventos (e metadados) usando Supabase Edge Functions sobre submissões de PDF editados numa tabela!

Primeira submissão de PDF editado no Supabase

Se tiver alguma questão, não hesite em contactar support@simplepdf.com

Você também pode se interessar por