@skrigueztep/sdk-booking
v1.1.1
Published
SDK de integración para el sistema de reservas. Permite a aplicaciones externas crear reservas y procesar pagos a través de CLIP mediante API tokens.
Readme
@skrigueztep/sdk-booking
SDK de integración para el sistema de reservas. Permite a aplicaciones externas crear reservas y procesar pagos a través de CLIP mediante API tokens.
Requisitos
- Node.js 18+
- Navegador moderno (para integración con CLIP SDK)
Instalación
npm install @skrigueztep/sdk-bookingUso rápido
import { SDKBooking } from '@skrigueztep/sdk-booking';
const sdk = new SDKBooking('TU_API_TOKEN', 'https://tu-backend.com');
sdk.create(
{
titulo: 'Reserva de prueba',
fecha_inicio: '2026-05-10T10:00:00Z',
fecha_fin: '2026-05-10T12:00:00Z',
nombre_cliente: 'Juan Pérez',
cliente_email: '[email protected]',
cliente_telefono: '5512345678',
costo: 500,
},
'https://miapp.com',
'checkout-container'
).catch(console.error);API
SDKBooking(apiKey, baseUrl)
Crea una instancia del SDK.
| Parámetro | Tipo | Descripción |
|-----------|------|-------------|
| apiKey | string | API token generado desde el panel de administración |
| baseUrl | string | URL base del backend (ej. https://api.misistema.com) |
create(data, domain, containerId): Promise<void>
Crea una reserva y gestiona el pago según el tipo de suscripción.
| Parámetro | Tipo | Descripción |
|-----------|------|-------------|
| data | ReservationInput | Datos de la reserva |
| domain | string | Dominio de origen (debe coincidir con el permitido en el API token) |
| containerId | string | ID del contenedor DOM donde se renderizará el formulario de pago |
ReservationInput
interface ReservationInput {
titulo: string;
descripcion?: string | object;
fecha_inicio: string;
fecha_fin: string;
nombre_cliente: string;
cliente_email: string;
cliente_telefono: string;
costo?: number;
}Clases de error
| Clase | Código HTTP | Descripción |
|-------|-------------|-------------|
| SDKError | variable | Error genérico del SDK |
| SubscriptionError | 403 | Error relacionado con la suscripción |
| ValidationError | 400 | Error de validación de campos |
Manejo de errores
import { SDKBooking, ValidationError, SubscriptionError } from '@skrigueztep/sdk-booking';
const sdk = new SDKBooking(token, baseUrl);
try {
await sdk.create(data, domain, containerId);
} catch (e) {
if (e instanceof ValidationError) {
console.error('Datos inválidos:', e.message);
} else if (e instanceof SubscriptionError) {
console.error('Problema de suscripción:', e.message);
} else {
console.error('Error:', e.message);
}
}Licencia
Este proyecto está bajo una licencia propietaria. Consulta el archivo LICENSE para más información.
