SDK

Votre site, vos paiements, notre moteur de places.

Créez une session de sélection contrainte en un appel API, intégrez le plan, recevez des webhooks signés. Vos acheteurs et paiements ne touchent jamais nos serveurs.

embed.ts1createSession()2mountSeatmapEmbed()3on("session.held")yourwebsite.comiframe · SeatmapEn optionVotre paiementPayer 240 €TKT-0091Billet émis

Ça vous parle ?

Construire la sélection de places from scratch

Options temps réel, disponibilité et plans zoomables, ce sont des années de cas limites. Montez le moteur et livrez ce trimestre.

Confier vos acheteurs à un tiers

La billetterie hébergée absorbe votre relation client. Les sessions portent une référence externe opaque. Les données PII acheteur restent chez vous.

Bugs de confiance côté client

Un jeton qui peut élargir ce qu'il sélectionne est une faille en attente. Ici le serveur valide chaque sélection contre les contraintes de session.

Une session contrainte, pas une API vierge

01Sessions contraintesDéclarez l'événement, l'inventaire sélectionnable, le max, la durée d'option et la cible de retour. Le serveur applique tout.
02Intégration partoutUne iframe avec jeton fragment ou une page hébergée avec retour redirect. CSP frame-ancestors et origines autorisées intégrées.
03Optionner, pas vendreLes sélections bloquent l'inventaire pour la durée de session. Vous confirmez la vente dans votre propre paiement, pas de double vente cross-canal.
04Webhooks de cycle de vie signéssession.held et session.released arrivent signés HMAC et retentés, avec journal de livraison dans l'admin.
05Frontière zéro PIINous ne voyons ni vos paiements ni vos acheteurs. Une référence opaque est le seul lien entre session et vos systèmes.
06Un appel pour monterLe SDK encapsule création de session et intégration, de la clé API à un plan live en un après-midi.

De la clé API au plan intégré

embed.ts
import { createSession, mountSeatmapEmbed } from "@seatmap/sdk";
// 1. Contraindre ce qui peut être sélectionné (appel serveur)
const session = await createSession({
apiKey: process.env.SEATMAP_API_KEY,
thing: "evt_summer_final_01",
selectable: { blocks: ["A", "B"] },
maxSeats: 4,
holdSeconds: 600,
returnUrl: "https://votreboutique.com/paiement",
buyerRef: "cart_9f31", // opaque pour Seatmap
});
// 2. Monter le plan de places live sur votre page
mountSeatmapEmbed("#seatmap", { token: session.token });
// 3. Recevoir les webhooks session.held / session.released (signés HMAC)
// → confirmer la vente dans votre propre paiement
TypeScript · @seatmap/sdksession.held · session.released

Intégrez votre premier plan

Créez une clé API dans l'espace de démo et montez une session.