Chamadas
O Cinderace usa parâmetros posicionais para ficar próximo da URL da API e evitar objetos de opções gigantes.
A ordem é: parâmetros de rota, query e settings.
// GET /v1/address/cep/:cepconst cep = await sdk.address.getCep("86036260");
// GET /v1/user/password/recovery-methods?cpf=...const methods = await sdk.auth.getRecoveryMethods({ cpf: "00000000000"});
// GET /v1/raffles/:id?affiliate_id=...const raffle = await sdk.raffles.getRaffle("uuid-do-sorteio", { affiliate_id: "afiliado-1"});POST, PUT, PATCH e DELETE
Seção intitulada “POST, PUT, PATCH e DELETE”A ordem é: parâmetros de rota, body e settings. Parâmetros gerenciados pela SDK, como o UUID do carrinho, saem da assinatura.
// POST /v1/cart/:uuid/items (UUID automático)await sdk.cart.addItems({ item: { type: "RAFFLE_NUMBERS", raffleUUID: "uuid-do-sorteio", amount: 10 }});
// PUT /v1/user/profileawait sdk.user.updateProfile({ name: "Maria Silva",});Para métodos que não são GET, a query fica em settings.query:
await sdk.raffles.getRaffle("uuid", { affiliate_id: "afiliado-1"});
await sdk.orders.createOrder("payment-id", body, { query: { utm_source: "site" }});Path params
Seção intitulada “Path params”Parâmetros de rota aparecem na assinatura na ordem da URL:
// GET /v1/orders/:payment/bondsconst bonds = await sdk.orders.getBonds("payment-id");
// GET /v1/user/raffles/:uuid/bondsconst myBonds = await sdk.raffles.getBonds("raffle-uuid");Settings
Seção intitulada “Settings”await sdk.user.getProfile({ headers: { "x-trace-id": "abc-123" }, signal: controller.signal});| Campo | Para que serve |
|---|---|
query |
Query string em métodos não-GET. |
headers |
Headers extras só daquela chamada. |
signal |
AbortSignal para cancelar a requisição. |
Toda resposta fora de 2xx vira LMSdkError:
import { LMSdkError } from "@luckymaker/sdk-core";
try { await sdk.raffles.getRaffle("uuid-inexistente");} catch (error) { if (error instanceof LMSdkError) { console.log(error.status); // 404 console.log(error.code); // código do backend console.log(error.body); // envelope completo }}