MT Ofertas — Guia de Ofertas do Mato Grosso
API v1.0.0

Integre seu sistema com o MT Ofertas

Publique e gerencie ofertas diretamente do seu sistema via REST API. Ideal para PDV, e-commerce e automações de lojistas parceiros.

REST APIJSONJWT / BearerWebhooks

URL Base

https://api.mtofertas.com/api/v1HTTPS

Autenticação

Inclua o header Authorization em todas as requisições autenticadas com o token obtido no login.

Header obrigatório

Authorization: Bearer {seu_token}
curl -X POST https://api.mtofertas.com/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "email": "lojista@exemplo.com",
    "password": "sua_senha"
  }'

⚠️ Tokens expiram em 15 min. Use o refreshToken retornado no login para renovar sem refazer o login.

Ofertas

Crie, liste, atualize e remova ofertas do seu negócio. Rotas com 🔒 exigem autenticação.

Pedidos

Consulte os pedidos recebidos no seu negócio.

Lojista

Dados do lojista autenticado.

Webhooks

Configure uma URL HTTPS no painel do lojista para receber notificações em tempo real. Cada requisição inclui o header X-MT-Signature assinado com HMAC-SHA256.

order.createdNovo pedido pago e confirmado
order.usedCupom validado pelo lojista
order.cancelledPedido cancelado / reembolsado
offer.approvedOferta aprovada pela equipe MT
offer.pausedOferta pausada (estoque zerado)

Payload — order.created

{
  "event": "order.created",
  "timestamp": "2025-04-26T10:00:00.000Z",
  "data": {
    "orderId": "ord_xyz789",
    "ofertaId": "clx9abc123",
    "ofertaTitulo": "Combo Família 4 Pessoas",
    "compradorNome": "João Silva",
    "cupom": "ABCD-1234",
    "valorPago": 99.90,
    "validoAte": "2025-05-26T23:59:59.000Z"
  }
}

💡 Verificando a assinatura: Calcule HMAC-SHA256(body_raw, webhook_secret) e compare com X-MT-Signature. Rejeite requisições inválidas.

Erros & Limites

A API usa códigos HTTP padrão e retorna JSON em todos os erros.

200 / 201Sucesso
400Dados inválidos — JSON com detalhes
401Token ausente, inválido ou expirado
403Sem permissão para este recurso
404Recurso não encontrado
429Rate limit: 100 req/min por lojista
500Erro interno — entre em contato

Exemplo de erro 400

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": ["precoOferta must be less than precoOriginal"]
}

Precisa de ajuda?

Nossa API é voltada para integrações técnicas de lojistas parceiros. Se ainda não é parceiro, cadastre-se aqui.