← Retour

API Partenaire

Tu construis une plateforme qui spawne des sites ou des SaaS pour tes utilisateurs ? Cette API crée automatiquement un projet Nytos par site, provisionne le compte utilisateur, et te renvoie un snippet prêt à coller.

Authentification

Toutes les requêtes nécessitent un header Authorization avec ta clé partenaire :

Authorization: Bearer nyk_xxxxxxxxxxxxx

Demande ta clé à hello@nytos.io.

Créer un projet

POST/api/v1/partner/projects

Crée un compte utilisateur Nytos (s'il n'existe pas), un projet Nytos pour ce user, et envoie un email magic-link.

Body

{
  "user_email": "founder@example.com",
  "shop_name": "Ma Boutique",
  "shop_url": "https://maboutique.com"
}

Réponse (200)

{
  "project_id": "uuid",
  "snippet_token": "nyt_xxxxx",
  "snippet_html": "<script src=\"https://nytos.vercel.app//n.js\" data-token=\"...\" async></script>",
  "badge_url": "https://nytos.vercel.app//api/badge/<project_id>",
  "badge_embed_html": "<a href=\"...\"><img src=\"...\" /></a>",
  "certification_url": "https://nytos.vercel.app//certifie/<project_id>",
  "user_dashboard_url": "https://nytos.vercel.app//tableau-de-bord/<project_id>",
  "magic_link_sent": true
}

Exemple curl

curl -X POST https://nytos.vercel.app//api/v1/partner/projects \
  -H "Authorization: Bearer nyk_xxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "user_email": "founder@example.com",
    "shop_name": "Ma Boutique",
    "shop_url": "https://maboutique.com"
  }'

Lire un projet

GET/api/v1/partner/projects/{id}

Retourne les métadonnées + métriques d'un projet. Tu ne peux lire que les projets que tu as créés.

Réponse (200)

{
  "project_id": "uuid",
  "name": "Ma Boutique",
  "url": "https://maboutique.com",
  "snippet_token": "nyt_xxxxx",
  "user_email": "founder@example.com",
  "created_at": "2026-05-24T...",
  "metrics": {
    "learning_hours": 12.4,
    "analysis_sessions": 234,
    "improvements_applied": 3,
    "conversions": 41,
    "conversion_rate": 17.5
  }
}

Supprimer un projet

DELETE/api/v1/partner/projects/{id}

Supprime un projet et toutes ses données (events, observations, improvements). Action irréversible.

Flow d'intégration recommandé

  1. Quand ton utilisateur crée un nouveau site/SaaS chez toi, appelle POST /api/v1/partner/projects
  2. Injecte snippet_html dans le <head> du site spawné
  3. Affiche badge_embed_html dans le footer du site (ou où tu veux)
  4. L'utilisateur reçoit un email magic-link, crée son mot de passe, accède à son dashboard Nytos
  5. Optionnel : embed un lien « Voir les insights Nytos → » pointant vers user_dashboard_url dans ton propre dashboard utilisateur
  6. Recommandé en production : ajoute un proxy first-party côté serveur pour récupérer les visiteurs qui bloquent les analytics — voir le guide.

Limites

  • Rate limit par défaut : 100 requêtes/heure par clé partenaire
  • Codes d'erreur : 401 (clé invalide/manquante), 403 (pas tes projets), 429 (rate limit), 400 (payload invalide)
  • CORS ouvert — utilisable depuis le frontend si nécessaire, mais idéalement appelé server-side

Questions ? hello@nytos.io