atualizado hoje · v2.0.4

Documentação da mobds.

Tudo que você precisa para integrar vendas de software no seu stack: licenciamento automático, agentes de IA, billing Pix e webhooks em tempo real.

Introdução #

A mobds é uma plataforma de vendas de software com API-first. Em vez de montar billing, licenciamento e CRM separados, você chama mobds.deals.create() e o resto acontece sozinho.

  • Licenças — emitidas em ~410ms após o pagamento
  • Agentes — IA que prospecta, fecha e renova
  • Billing — Pix, cartão e boleto com conciliação automática
💡 Dica: aperte a tecla P (ou Ctrl+K) em qualquer lugar da documentação para pular direto para uma seção.

Quickstart #

Do zero ao primeiro deal em menos de 5 minutos.

terminal
# 1. instale o SDK
npm install @mobds/sdk

# 2. configure sua chave (painel → settings → api)
export MOBDS_KEY="mk_live_…"
primeiro-deal.ts
import { mobds } from "@mobds/sdk"

const deal = await mobds.deals.create({
  account: "tinnova",
  plan: "suite-annual",
  seats: 40,
})

console.log(deal.licenses)
// → ["MOBDS-SUITE-TN96"]  ✓ emitida em 410ms

Autenticação #

Toda chamada usa sua chave no header Authorization. Chaves de live começam com mk_live_ e as de teste com mk_test_.

curl
curl https://api.mobds.com/v2/deals \
  -H "Authorization: Bearer mk_live_…" \
  -H "Content-Type: application/json"
🔒 Nunca exponha a mk_live_ no frontend. Use rotas server-side ou edge functions.

Licenciamento #

Licenças são o coração da mobds. Cada uma tem um ciclo de vida próprio e transições automáticas:

  • trial → ativada sob avaliação, expira em N dias
  • ativa → paga e válida até a renovação
  • revogada → inadimplência ou cancelamento manual
licencas.ts
// emitir licença avulsa
await mobds.licenses.issue({ account: "nordal", plan: "bi-cloud", seats: 120 })

// renovar com proration automática
await mobds.licenses.renew("MOBDS-BICL-ND12", { months: 12, discount: 0.08 })

Agentes de IA #

Os três agentes são configuráveis por código — defina margens, limites e tom de voz, e eles trabalham dentro das suas regras:

agents.config.ts
export default {
  scout:   { sources: ["cnpj", "linkedin"], minScore: 70 },
  closer:  { maxDiscount: 0.12, tone: "consultivo" },
  guardian:{ saveAttempts: 3, dunning: true },
}

API Reference #

REST previsível, respostas em JSON, versionamento na URL. Base: https://api.mobds.com/v2

GET/dealslista deals do pipeline
POST/dealscria deal + licenças
GET/licenses/:idstatus da licença
PATCH/accounts/:idatualiza conta
DELETE/licenses/:idrevoga licença
POST/agents/rundispara um agente

Webhooks #

Receba eventos em tempo real no seu endpoint. Assinamos todo payload com HMAC-SHA256 no header X-Mobds-Signature.

deal.createddeal.wonlicense.issuedlicense.expiringrenewal.savedpayment.failedagent.action
webhook.ts
const event = mobds.webhooks.verify(req.body, sig, process.env.WH_SECRET)

switch (event.type) {
  case "deal.won":    celebrate(event.data); break
  case "renewal.saved": notifyCS(event.data); break
}

Códigos de erro #

Erros seguem o formato { "error": { "code": "…", "message": "…" } }:

401auth_invalidchave ausente ou inválida
402license_limitlimite de licenças do plano
409deal_conflictdeal já existe pra conta
429rate_limitedmax 600 req/min — use backoff
🛟 Travou? suporte@mobds.com responde em ~3 minutos. Sim, de verdade.