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 (
fetchglobal). - 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-promarketingnpm
npm install sdk-sapi-promarketingyarn
yarn add sdk-sapi-promarketingUso 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)
- Instala el paquete en el proyecto de la app (no solo en el monorepo raíz si usas workspaces):
pnpm add sdk-sapi-promarketing- Comprueba que aparece en
package.jsonde la app:
"dependencies": {
"sdk-sapi-promarketing": "^0.0.7"
}- Reinstala dependencias y reinicia el servidor de TypeScript del IDE:
pnpm installEn VS Code/Cursor: Ctrl+Shift+P → TypeScript: Restart TS Server.
- Import correcto (nombre exacto, sin
sdk-sapi2):
import { SdkSAPI, type SdkSapiContext } from "sdk-sapi-promarketing";Monorepo (pnpm): declara la dependencia en el
package.jsondel paquete/app que importa el SDK, no solo en la raíz, salvo que usesdependenciescon protocolo de workspace.tsconfig.jsonde 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 buildSimular el contenido que se publicará en npm:
npm pack --dry-runLa salida va a dist/ (JS, MJS y declaraciones TypeScript).
Enlaces
- Repositorio: Bitbucket — skin2-sdk-sapi
- Issues: ver
package.json→bugs.url
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.
