devexpay API
Entenda conceitos, pré-requisitos e funcionamento da API REST do devexpay.
O que é a devexpay?
devexpay é uma plataforma de pagamentos voltada para criadores e produtores digitais, construída sobre Pagar.me. Oferecemos checkout, área de membros, afiliados, recorrência e splits — gerenciáveis tanto pelo painel quanto via API.
Visão geral
A API devexpay é REST e permite integrar sua aplicação com a plataforma para gerenciar via código produtos, ofertas, pedidos e webhooks.
URL Base
Todas as requisições devem ser feitas para a URL base:
https://devexpay-v3.vercel.app/api/v1/Quando o domínio api.devexpay.com.br estiver no ar, ele será o oficial.
Pré-requisitos
- Conta devexpay. Crie em /entrar.
- Chaves de API.
client_id+client_secretgerados em Integrações → API. - Escopos. Definidos no momento da criação da chave — controle granular sobre o que ela pode fazer.
Autenticação
Todas as requisições requerem um header Authorization: Bearer contendo um token base64 com client_id:client_secret.
# Bash: gera token base64
TOKEN=$(echo -n "dx_id_xxxxx:dx_sk_yyyyy" | base64)
curl https://devexpay-v3.vercel.app/api/v1/products \
-H "Authorization: Bearer $TOKEN"Ver detalhes em Autenticação.
Escopos de acesso
Cada chave declara escopos que limitam quais endpoints ela pode acessar. Disponíveis: read, write, products, offers, orders, webhooks.
Formato das requisições
Bodies em JSON com header Content-Type: application/json.
Authorization: Bearer {token_base64}
Content-Type: application/jsonPaginação e filtros
# Paginação
?page=2&limit=50
# Busca
?search=curso
# Filtros
?status=paid&method=pixFormato das respostas
Listagens são sempre paginadas com a estrutura:
{
"count": 42,
"next": "https://devexpay-v3.vercel.app/api/v1/products?page=3&limit=20",
"previous": "https://devexpay-v3.vercel.app/api/v1/products?page=1&limit=20",
"results": [
{ "id": "uuid", "name": "Curso Python", "price": 297 }
]
}Códigos de status HTTP
| Código | Descrição |
|---|---|
| 200 | Sucesso |
| 201 | Recurso criado |
| 204 | Sucesso sem conteúdo |
| 400 | Requisição inválida |
| 401 | Não autenticado |
| 403 | Sem permissão (escopo insuficiente) |
| 404 | Não encontrado |
| 500 | Erro interno |