Integração
SDK oficial @zhex/node ou fetch nativo. A Zhex é HTTP REST com OpenAPI publicado — você escolhe o caminho.
A Zhex é uma API HTTP REST com OpenAPI 3.1 publicado em prometheus.zhex.io/v1/openapi.json. Você integra de dois jeitos:
@zhex/node— SDK oficial em TypeScript. Tipos completos, idempotência automática, retry com backoff, auto-paginação, helper de webhook.- HTTP puro —
fetchnativo do Node 18+ oucurl. Zero dependência, mesma API.
Os dois caminhos batem na mesma API e expõem os mesmos recursos. Use SDK quando estiver em Node; use HTTP quando estiver em qualquer outra linguagem ou quiser controle total do transporte.
Caminho rápido — SDK
npm install @zhex/nodeimport Zhex from '@zhex/node';
const zhex = new Zhex(process.env.ZHEX_SECRET_KEY!);
const customer = await zhex.customers.create({
email: 'jane@acme.com',
name: 'Jane Doe',
});
const intent = await zhex.paymentIntents.create({
amount: 19900,
currency: 'brl',
customer: customer.id,
});Caminho rápido — HTTP
const res = await fetch('https://prometheus.zhex.io/v1/payment_intents', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.ZHEX_SECRET_KEY}`,
'Idempotency-Key': crypto.randomUUID(),
'Zhex-Version': '2026-04-25',
'Content-Type': 'application/json',
},
body: JSON.stringify({
amount: 19900,
currency: 'brl',
customer: 'cus_…',
}),
});
if (!res.ok) {
const err = await res.json();
throw new Error(`${err.error.code}: ${err.error.message}`);
}
const intent = await res.json();O que o SDK te dá
- Tipos completos — autocomplete em todos os recursos e parâmetros, narrowing por status de PaymentIntent.
- Idempotência automática — todo POST recebe
Idempotency-KeyUUIDv4 sem você pensar; retries replay a mesma key, sem dupla cobrança. - Retry com backoff — 429 / 5xx retentam até 3 vezes com jitter exponencial; você só vê a falha quando ela for real.
- Auto-paginação —
for await (const x of zhex.customers.list({}).autoPagingEach())itera tudo. - Verificação de webhook —
Zhex.webhooks.constructEvent(rawBody, signature, secret)em uma linha, com tolerância de timestamp etimingSafeEqualpor baixo. - Erros tipados —
ZhexCardError,ZhexNotFoundError,ZhexIdempotencyErroretc., todos comcode,requestId,statusCode.
Quando ir direto via HTTP
- Não está em Node — Python, Go, PHP, Ruby. Use
fetch/requests/net/http/etc. com o OpenAPI como guia. - Edge runtime sem suporte a
node:crypto— Cloudflare Workers, Deno Deploy. O SDK precisa de Node ≥18; em runtimes alternativos,fetchdireto é mais portável. - Você quer ver/controlar tudo — proxy corporativo, telemetria custom, mTLS, OTel manual. SDK abstrai um pedaço; HTTP é integral seu.
Próximos passos
Setup
Instalar @zhex/node ou montar zhexFetch helper
Webhooks
constructEvent do SDK ou HMAC manual
Auto-paginação
autoPagingEach() ou cursor manual
Retry
Built-in no SDK, helper para HTTP
Esta página foi útil?
Atualizado em