Pular para o conteúdo
AssinAPI

Integração · FlutterFlow

Assinatura eletrônica em apps FlutterFlow

O app roda no dispositivo do usuário, então a chave nunca pode estar nele. Use API Calls privadas (Firebase Cloud Function) ou seu backend.

curl -X POST /v1/signature-requests

201 Created · 312 ms

"status": "SENT", "signingUrl": "…/s/9xq4m"

webhook signer.signed → 200 OK

Antes de tudo: a chave fica no servidor

Onde fica a chave: Guarde a chave no backend (Firebase/Supabase). No FlutterFlow, habilite “Make Private” na API Call.

Como funciona

  1. 1

    O app chama uma API Call privada (executada como Cloud Function).

  2. 2

    A função chama a AssinAPI com a chave guardada no servidor.

  3. 3

    O app abre o link de assinatura (signingUrl).

  4. 4

    O webhook chega no backend, que atualiza o Firestore/Postgres.

  5. 5

    O app reage à mudança de status no banco.

Código pronto

API Call privada

text
FlutterFlow — API Calls (Private)

Método:   POST
URL:      https://api.assinapi.com.br/v1/envelopes
Header:   Authorization: Bearer <ASSINAPI_SECRET_KEY> (privado)
Header:   Content-Type: application/json
Body (JSON):
{
  "title": "Contrato de prestação de serviços",
  "expirationDays": 7
}

Resposta de erro: { "error": { "code", "message", "hint", "requestId" } }

Exemplos apontam para o Sandbox (https://api.assinapi.com.br/v1). Em Produção, troque apenas a chave (ask_live_…); o endereço é o mesmo.

Perguntas frequentes

Perguntas técnicas.

Posso embutir a chave no app compilado?

Não. Apps podem ser descompilados; a chave seria extraída. Ela fica sempre no backend.

Como meu sistema fica sabendo que o documento foi assinado?

Por webhooks assinados com HMAC-SHA256 (eventos como signer.signed e envelope.completed) ou consultando GET /v1/signature-requests/:id, que devolve o status e o próximo passo em português.

Como o signatário se autentica? Dá para usar WhatsApp?

WhatsApp está nos planos pagos. Simples: por padrão só o link por e-mail (EMAIL_LINK). Avançada (CPF e data de nascimento conferidos): nos planos pagos, link por e-mail + código pelo WhatsApp (WHATSAPP_OTP) ou só WhatsApp (WHATSAPP_LINK); no Free, link e código por e-mail (EMAIL_OTP), e pedir WhatsApp devolve 402 WHATSAPP_REQUIRES_PAID_PLAN. Envie o celular em phone (+5511999999999) e, se quiser, defina o padrão no projeto.

Consigo testar sem custo?

Sim. O Sandbox é gratuito: chaves ask_test_…, código de confirmação fixo 123456 e CPFs de teste. Documentos de Sandbox não têm validade e não consomem a franquia do plano.

Primeira assinatura no Sandbox em menos de 10 minutos.

Sem cartão de crédito. Sandbox gratuito; você só paga por documentos enviados em Produção.