← Retour au site

L'API SuperClean Water.

Vous gérez des locations de vacances ? Chaque réservation de votre logiciel planifie automatiquement le nettoyage de la piscine, terminé quelques heures avant l'arrivée des voyageurs. Si la réservation bouge ou s'annule, le nettoyage suit.

Comment ça marche

  1. Vous recevez votre clé API (scw_live_…) à l'ouverture de votre compte.
  2. Vous reliez chaque bien de votre logiciel à une piscine.
  3. À chaque réservation, vous appelez l'API : le nettoyage est planifié.
  4. Vous recevez des notifications (webhooks) à chaque changement.

1. Relier un bien à une piscine

curl -X POST https://superclean-water.com/api/v1/pool-links \
  -H "Authorization: Bearer scw_live_..." \
  -H "Content-Type: application/json" \
  -d '{"pool_id":"<id piscine>","source":"mon-pms","external_property_id":"B-42"}'

2. Envoyer une réservation

L'appel est idempotent : renvoyer la même réservation la met à jour, sans doublon. Par défaut, le nettoyage se termine 3 heures avant l'arrivée (réglable).

curl -X POST https://superclean-water.com/api/v1/reservations \
  -H "Authorization: Bearer scw_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "source": "mon-pms",
    "reservation_id": "R-2026-0042",
    "property_id": "B-42",
    "arrival": "2026-07-18T15:00:00+02:00",
    "departure": "2026-07-25T10:00:00+02:00",
    "guests": 4
  }'
{ "data": {
    "id": "…", "type": "avant_arrivee", "status": "planifiee",
    "scheduled_for": "2026-07-18T10:00:00.000Z",
    "must_be_done_before": "2026-07-18T12:00:00.000Z",
    "reservation_id": "R-2026-0042", "pool_id": "…" } }

Occupation et voyageurs

Chaque réservation indique au pisciniste si le bien est occupé et quand le prochain voyageur arrive. Le prénom et le téléphone du voyageur ne sont transmis que si vous activez le partage pour ce bien ("share_guest_contact": true dans /api/v1/pool-links), puis envoyés dans guest_first_name et guest_phone. Sans activation, ces champs sont ignorés. Vous pouvez couper le partage à tout moment : les coordonnées déjà reçues sont effacées. Elles sont aussi effacées 30 jours après le départ et ne sont jamais montrées au propriétaire.

3. Annuler

curl -X DELETE https://superclean-water.com/api/v1/reservations/mon-pms/R-2026-0042 \
  -H "Authorization: Bearer scw_live_..."

4. Suivre les nettoyages

curl "https://superclean-water.com/api/v1/missions?status=planifiee&from=2026-07-01T00:00:00Z" \
  -H "Authorization: Bearer scw_live_..."

5. Envoyer des mesures de capteur

Un capteur de piscine, le vôtre ou celui d'un fabricant, peut envoyer ses relevés (pH, ORP, température, conductivité) pour une piscine. SuperClean Water en déduit l'état de l'eau : vert (normal), orange (à surveiller), rouge (urgent). Droit requis : measures:write. Un même instant n'est enregistré qu'une fois.

curl -X POST https://superclean-water.com/api/v1/measurements \
  -H "Authorization: Bearer scw_live_..." -H "Content-Type: application/json" \
  -d '{"pool_id":"<id de la piscine>","device":{"name":"Mon capteur","serial":"A1B2"},
       "readings":[{"measured_at":"2026-07-01T10:00:00Z","ph":7.4,"orp_mv":720,"temperature_c":26.5}]}'

Webhooks

Nous appelons votre URL pour mission.created, mission.updated et mission.cancelled. Chaque appel est signé : l'en-tête X-SuperClean-Signature contient sha256= suivi du HMAC-SHA256 du corps avec votre secret.

Erreurs

Réponse type : {"error":{"code":"property_not_linked","message":"…"}}. Codes : 401 (clé), 403 (droit manquant), 404 (bien ou réservation inconnus), 422 (requête invalide, arrivée trop proche).

Spécification complète : openapi.json. Une question, un connecteur à brancher ? contact@superclean-water.com