npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

sdk-sapi-promarketing

v0.0.33

Published

TypeScript SDK client for SAPI

Readme

sdk-sapi-promarketing

Cliente TypeScript para consumir la API SAPI (skins, jugador, pagos, bonos, etc.). Se publica en npm como paquete dual CommonJS + ESM con tipos incluidos.

Requisitos

  • Node.js 18 o superior (fetch global).
  • Proyecto TypeScript recomendado (el paquete incluye .d.ts).

Instalación

Nombre del paquete en npm: sdk-sapi-promarketing
(No usar sdk-sapi2, sdk-sapi2-promarketing ni variantes antiguas.)

pnpm (recomendado)

pnpm add sdk-sapi-promarketing

npm

npm install sdk-sapi-promarketing

yarn

yarn add sdk-sapi-promarketing

Uso rápido

La clase principal es SdkSAPI. Debes construir un objeto SdkSapiContext con la URL base, proxy, skin y callbacks que necesites.

ESM (import)

import { SdkSAPI, type SdkSapiContext } from "sdk-sapi-promarketing";

const context: SdkSapiContext = {
    url: "https://api.ejemplo.com",
    proxy: "/api/proxy",
    skin: "mi-skin",
    skinContent: "contenido-skin",
    onlyServer: false,
    token: () => "Bearer-token-desde-tu-auth",
    callback401: async () => {
        // Renovar sesión o redirigir login
    },
};

const client = new SdkSAPI(context);

// Los métodos vienen de los servicios mezclados (p. ej. GameService, PlayerService).
// Consulta el tipado de SdkSAPI en tu IDE o el código fuente de `services/`.

CommonJS (require)

const { SdkSAPI } = require("sdk-sapi-promarketing");

const client = new SdkSAPI({
    url: "https://api.ejemplo.com",
    proxy: "/api/proxy",
    skin: "mi-skin",
    skinContent: "contenido-skin",
    onlyServer: false,
});

Tipos (interfaces)

Los tipos de dominio se reexportan desde la raíz del paquete:

import type { QueryType, PlayerType } from "sdk-sapi-promarketing";

Contexto (SdkSapiContext)

| Campo | Descripción | |--------|-------------| | url | URL base del servicio (opcional según cómo montes el fetch). | | proxy | Prefijo o ruta proxy usada por las peticiones relativas. | | skin | Identificador de skin. | | skinContent | Identificador de contenido de skin. | | onlyServer | Si es true, las peticiones usan url directamente; si es false o se omite, usan la ruta relativa con proxy. | | valueToken / token | Token Bearer en caché y/o función que lo devuelve (requerida cuando el endpoint pide autenticación). | | callback401 | Opcional: lógica ante respuesta 401. |

Ajusta valores según el entorno (desarrollo / producción).

Error Cannot find module 'sdk-sapi-promarketing' (TS2307)

  1. Instala el paquete en el proyecto de la app (no solo en el monorepo raíz si usas workspaces):
pnpm add sdk-sapi-promarketing
  1. Comprueba que aparece en package.json de la app:
"dependencies": {
  "sdk-sapi-promarketing": "^0.0.7"
}
  1. Reinstala dependencias y reinicia el servidor de TypeScript del IDE:
pnpm install

En VS Code/Cursor: Ctrl+Shift+PTypeScript: Restart TS Server.

  1. Import correcto (nombre exacto, sin sdk-sapi2):
import { SdkSAPI, type SdkSapiContext } from "sdk-sapi-promarketing";
  1. Monorepo (pnpm): declara la dependencia en el package.json del paquete/app que importa el SDK, no solo en la raíz, salvo que uses dependencies con protocolo de workspace.

  2. tsconfig.json de la app — usa al menos:

{
  "compilerOptions": {
    "moduleResolution": "bundler",
    "module": "ESNext",
    "skipLibCheck": true
  }
}

(o "moduleResolution": "node16" / "nodenext").

Desarrollo del paquete (mantenedores)

Publicar en npm: ver docs/PUBLISHING.md.

Clonar el repositorio, instalar dependencias y compilar:

npm install
npm run build

Simular el contenido que se publicará en npm:

npm pack --dry-run

La salida va a dist/ (JS, MJS y declaraciones TypeScript).

Enlaces

Licencia

UNLICENSED — uso restringido según política interna de Promarketing. Para términos exactos, consulta con el equipo legal o el propietario del paquete en npm.