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
O app chama uma API Call privada (executada como Cloud Function).
- 2
A função chama a AssinAPI com a chave guardada no servidor.
- 3
O app abre o link de assinatura (signingUrl).
- 4
O webhook chega no backend, que atualiza o Firestore/Postgres.
- 5
O app reage à mudança de status no banco.
Código pronto
API Call privada
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.