PepForm Developers
Construa integrações sobre o PepForm. Gerencie forms, respostas e webhooks via REST API ou autorize aplicações de terceiros via OAuth2.
API Reference
Endpoints, params e exemplos (Swagger UI)
OAuth Guide
Authorization code flow para apps de terceiros
Quickstart
Primeira chamada em < 2 min
Quickstart
- Gere uma API key em Configurações → API keys (scopes:
forms:readpara começar). - Liste seus forms:
curl https://pepform.io/api/v1/forms \ -H "Authorization: Bearer pep_YOUR_TOKEN"
Crie um form via API:
curl -X POST https://pepform.io/api/v1/forms \
-H "Authorization: Bearer pep_YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"NPS Q4","description":"Pesquisa pós-venda"}'Response envelope
Todas as respostas seguem o formato:
{ "success": true, "data": { ... } }
{ "success": false, "error": { "code": "not_found", "message": "..." } }Rate-limit: 100 req/min por API key (headers X-RateLimit-*)
OAuth2
Use OAuth2 quando seu app precisa agir em nome de usuários PepForm (não com sua própria API key). Fluxo: Authorization Code com PKCE.
# 1. Redirecione o usuário para autorizar:
https://pepform.io/api/oauth/authorize?
client_id=YOUR_CLIENT_ID&
redirect_uri=https://yourapp.com/cb&
scope=forms:read+responses:read&
state=RANDOM_STATE
# 2. Troque o code por tokens:
curl -X POST https://pepform.io/api/oauth/token \
-H "Content-Type: application/json" \
-d '{
"grant_type":"authorization_code",
"code":"...",
"client_id":"YOUR_CLIENT_ID",
"client_secret":"YOUR_CLIENT_SECRET",
"redirect_uri":"https://yourapp.com/cb"
}'access_tokené JWT (HS256), expira em 1h.refresh_tokené opaco, expira em 30 dias.- Endpoint de userinfo:
GET /api/oauth/userinfo(Bearer JWT).
Webhooks
Configure URLs via POST /api/v1/webhooks para receber submission.completed. Verifique X-PepForm-Signature (HMAC-SHA256) com o secret retornado na criação.