REST API · v1

Documentation Développeurs

Intégrez Sendatip dans vos propres systèmes. Récupérez les pools, transactions et analyses directement via notre API REST.

Base URLhttps://api.sendatip.de/api/v1

Authentification

Toutes les requêtes API doivent être authentifiées avec une clé API valide. Envoyez la clé dans l'en-tête HTTP X-API-Key.

Vous pouvez créer des clés API dans vos paramètres. Aller aux paramètres →
curl https://api.sendatip.de/api/v1/pools \
  -H "X-API-Key: sk_live_your_key_here"
GET/v1/pools

Lister les pools

Retourne tous les pools de votre organisation – avec un lien de pourboire direct par pool.

Aucun paramètre de requête

Exemple de requête

curl https://api.sendatip.de/api/v1/pools \
  -H "X-API-Key: sk_live_your_key_here"

Exemple de réponse

{
  "success": true,
  "pools": [
    {
      "id": "uuid",
      "code": "HOTEL-BAR",
      "name": "Hotel Bar",
      "description": "Trinkgeld für die Hotelbar",
      "is_active": true,
      "created_at": "2026-01-15T10:00:00Z",
      "tip_url": "https://sendatip.de/tip/HOTEL-BAR"
    }
  ]
}
GET/v1/pools/:code/qr

Générer un QR code

Retourne le QR code d'un pool au format PNG ou SVG. Idéal pour les imprimantes de reçus, affichages POS ou mises en page print.

ParameterTypPflichtBeschreibung
codestring✓Code du pool (ex. HOTEL-BAR)
formatpng|svg–Format de sortie : png (défaut) ou svg
sizenumber–Largeur en pixels (100–1000, défaut : 300)

Exemple de requête

# PNG herunterladen
curl "https://api.sendatip.de/api/v1/pools/HOTEL-BAR/qr?format=png&size=400" \
  -H "X-API-Key: sk_live_your_key_here" \
  --output qr-hotel-bar.png

# SVG als String
curl "https://api.sendatip.de/api/v1/pools/HOTEL-BAR/qr?format=svg" \
  -H "X-API-Key: sk_live_your_key_here"
GET/v1/transactions

Transactions

Retourne les transactions terminées de votre organisation. Filtrable par date et pool – idéal pour la comptabilité ou l'export.

ParameterTypPflichtBeschreibung
fromdate–Date de début (AAAA-MM-JJ)
todate–Date de fin (AAAA-MM-JJ)
pool_codestring–Seulement les transactions d'un pool spécifique
limitnumber–Nombre de résultats (max. 500, défaut : 50)
offsetnumber–Décalage pour la pagination (défaut : 0)

Exemple de requête

curl "https://api.sendatip.de/api/v1/transactions?from=2026-01-01&to=2026-06-30&limit=100" \
  -H "X-API-Key: sk_live_your_key_here"

Exemple de réponse

{
  "success": true,
  "transactions": [
    {
      "id": "uuid",
      "amount": 500,
      "currency": "eur",
      "status": "completed",
      "created_at": "2026-06-15T14:23:00Z",
      "pool": { "code": "HOTEL-BAR", "name": "Hotel Bar" },
      "recipient": { "display_name": "Maria M.", "email": "maria@example.com" }
    }
  ],
  "meta": { "limit": 100, "offset": 0 }
}
GET/v1/analytics/summary

Résumé Analytics

Retourne un résumé pour la période sélectionnée : revenu total, nombre de transactions, pourboire moyen et pool le plus performant.

ParameterTypPflichtBeschreibung
fromdate–Date de début (AAAA-MM-JJ)
todate–Date de fin (AAAA-MM-JJ)

Exemple de requête

curl "https://api.sendatip.de/api/v1/analytics/summary?from=2026-01-01&to=2026-06-30" \
  -H "X-API-Key: sk_live_your_key_here"

Exemple de réponse

{
  "success": true,
  "summary": {
    "total_amount": 125400,
    "transaction_count": 312,
    "average_amount": 402,
    "currency": "eur",
    "top_pool": {
      "code": "HOTEL-BAR",
      "name": "Hotel Bar",
      "amount": 48200
    }
  }
}

Codes d'erreur

Toutes les erreurs sont retournées en JSON avec les champs error.code et error.message.

HTTPCodeSignification
401INVALID_API_KEYClé API manquante, invalide ou mauvais format
401API_KEY_REVOKEDLa clé API a été révoquée
404POOL_NOT_FOUNDLe pool avec ce code n'existe pas ou n'appartient pas à votre organisation
429RATE_LIMITEDTrop de requêtes – veuillez respecter le rate limiting
500FETCH_ERRORErreur interne du serveur