Cartamatic POS SDK

Errores Y Logging

Clases de error, metadata segura y helpers de redacción para Toteat.

El SDK separa errores de caller, red, HTTP, JSON y dominio provider.

Clases De Error

ErrorCausaManejo recomendado
PosValidationErrorInput inválido antes de llamar al provider.Corregir caller, devolver 400 o registrar bug interno.
PosNetworkErrorTimeout, abort o fallo antes de recibir respuesta.Retry externo controlado o alerta operacional.
PosHttpErrorProvider respondió HTTP no exitoso.Revisar status, rate limits o credenciales.
PosJsonErrorProvider respondió JSON inválido.Tratar como incidente upstream.
PosResponseErrorProvider respondió JSON válido con ok: false.Manejar como rechazo de dominio provider.

Metadata Segura

Errores de request exponen:

  • provider
  • method
  • path

path no incluye query string. Esto evita filtrar xapitoken, xir, xil o xiu.

Redactar URLs

import { redactToteatUrl } from "@cartamatic/pos-sdk";

const safeUrl = redactToteatUrl(url);

Redacta query params:

  • xapitoken
  • xir
  • xil
  • xiu

Redactar Credenciales

import { redactToteatCredentials } from "@cartamatic/pos-sdk";

const safeCredentials = redactToteatCredentials({
  restaurantId,
  localId,
  userId,
  apiToken,
  environment: "production"
});

Redacta campos:

  • apiToken
  • restaurantId
  • localId
  • userId

El valor usado es TOTEAT_REDACTED_VALUE, actualmente [REDACTED].

Logging Recomendado

try {
  return await pos.catalog.getProducts({ activeProducts: true });
} catch (error) {
  if (error instanceof PosHttpError) {
    logger.warn("Toteat HTTP error", {
      provider: error.provider,
      method: error.method,
      path: error.path,
      status: error.status
    });
  }

  throw error;
}

No loggees configuración raw ni URLs sin pasar por helpers de redacción.

On this page