Desenvolvedores/Primeiros passos
API para lojistas CardV
A CardV vende produtos digitais pré-pagos para empresas, como cartões-presente, recargas de jogos e eSIM. Com a Merchant API, o seu sistema compra esses produtos de forma automática. Você consulta o saldo, encontra o produto, vê o preço, faz o pedido e recebe os códigos. Os pedidos são pagos com o saldo pré-pago da sua carteira CardV. O resto, como adicionar saldo e ver o histórico de pedidos, é feito no Portal do lojista (Merchant Portal).
#Documentação
| Documento | O que você encontra |
|---|---|
| Autenticação | Cabeçalhos, assinatura do pedido, chaves de API |
| Catálogo e pedidos | Saldo, produtos, preços, pedidos, códigos |
| Convenções | Valores, datas, IDs, limite de requisições, erros |
| Webhooks | Avisos de pedido enviados ao seu servidor |
| Sandbox | Testes e checklist para entrar em produção |
| Segurança | Como proteger chaves e códigos |
#Ambientes
| Live | Sandbox | |
|---|---|---|
| URL base da API | https://b2b.cardv.net/api/v1 | https://sandbox.cardv.net/api/v1 |
| Portal do lojista | https://b2b.cardv.net/portal/ | O mesmo Portal, trocando para Sandbox |
O Sandbox é uma cópia de testes da CardV, separada e com dinheiro de teste. Chaves, saldos, pedidos e IDs de produto são diferentes em cada ambiente.
#Primeiros passos
Cadastre-se. Solicite uma conta de lojista no Portal e confirme o seu e-mail.
Aguarde a aprovação. A CardV analisa a sua empresa. Depois você recebe um Merchant ID (seu código de lojista), por exemplo
M00000001.Abra o Sandbox. Entre no Portal e escolha Sandbox no topo da página. Você ganha 1.000 USD em dinheiro de teste.
Crie uma chave de API. No Portal, vá em Integrations → API keys. Crie a chave e depois exiba o valor completo com o código que a CardV envia por e-mail. Guarde a chave no seu cofre de segredos.
Consulte o saldo:
export CARDV_BASE=https://sandbox.cardv.net export CARDV_MERCHANT_ID=M00000001 # yours export CARDV_API_KEY=cvb2b_... # from your secret store AUTH=(-H "X-Merchant-Id: $CARDV_MERCHANT_ID" -H "X-Api-Key: $CARDV_API_KEY") curl -sS "$CARDV_BASE/api/v1/balance" "${AUTH[@]}"Encontre um produto:
curl -sS "$CARDV_BASE/api/v1/skus?search=steam&limit=20" "${AUTH[@]}"Escolha um com
"availability": "available"e anote osku_id.Veja o preço:
curl -sS "$CARDV_BASE/api/v1/skus/S000001/quote?quantity=1" "${AUTH[@]}"Anote o
merchant_price. É quanto você paga por unidade.Faça o pedido. Esta chamada precisa ser assinada. Use um dos exemplos de Autenticação com este corpo:
{ "external_order_id": "TEST-0001", "items": [ {"sku_id": "S000001", "quantity": 1, "expected_unit_price": "9.2500"} ] }A resposta é HTTP 201, com um número de pedido da CardV, como
O-00001234.Busque os códigos. Chame
GET/api/v1/orders/O-00001234até o status sersucceeded. Os códigos ficam emitems[].deliveries[].display_fields. Você também pode receber um webhook quando o pedido terminar.Entre em produção depois de passar pelo checklist do Sandbox.
Os IDs e preços acima são só exemplos. Use os valores que o seu catálogo retornar.
#Visão geral da API
São sete endpoints. Todos os caminhos começam com /api/v1.
| Endpoint | Para que serve | Assinado |
|---|---|---|
GET/account | Dados da sua empresa e status do acesso à API | Não |
GET/balance | Quanto você tem para gastar | Não |
GET/skus | Produtos que você pode comprar, com o seu preço | Não |
GET/skus/{sku_id} | Um produto | Não |
GET/skus/{sku_id}/quote | Preço atual para uma quantidade | Não |
POST/orders | Fazer um pedido, pago com a sua carteira | Sim |
GET/orders/{order_id} | Status do pedido e códigos | Não |
Qualquer outro endpoint chamado com chave de API retorna HTTP 403:
{"detail": "This operation is only available in the Merchant Portal."}Recarga de celular não está disponível pela API.
#IDs
| O quê | Exemplo | Observações |
|---|---|---|
| Merchant ID | M00000001 | É o seu. Nunca muda. |
| SKU (produto que você pode comprar) | S000456 | Use para ver o preço e fazer o pedido. |
| Número do pedido na CardV | O-00001234 | Guarde junto com o seu pedido. |
| Seu número de pedido | SHOP-10001 | Você escolhe (external_order_id). |
Guarde os IDs como texto e não tente interpretá-los. Veja Convenções.
#O que fica no Portal
- Adicionar saldo à carteira e o alerta de saldo baixo por e-mail
- Histórico de pedidos, busca e exportação em CSV
- Faturas dos pedidos
- Movimentações da carteira e conciliação
- Configuração de webhooks, histórico de envios e reenvio
- Chaves de API
- Lista de IPs permitidos
- Usuários da equipe e perfis de acesso
- Registro de auditoria
- Verificação em duas etapas (2FA)
- Troca entre Live e Sandbox
#Compatibilidade e suporte
Podemos adicionar novos campos e novos status nas respostas sem aviso prévio. Ignore os campos que você não conhece. Trate um status de pedido desconhecido como "ainda não terminou". Não dependa do texto das mensagens de erro.
Escreva para [email protected] informando o seu Merchant ID, o ambiente, os números dos pedidos, o horário (UTC) e o status HTTP.
Nunca envie chaves de API, assinaturas, segredos de webhook nem códigos de cartão.
Dúvidas sobre a integração? Envie um e-mail para [email protected] com seu Merchant ID e o ID do pedido ou da requisição.