Go-live checklist

Checklist finale avant mise en production: auth, webhooks, observabilite et cas critiques.

Objectif

Cette page sert de validation finale avant d'ouvrir l'integration a de vrais clients. L'objectif n'est pas seulement de faire passer un appel API, mais de verifier que tout le cycle de vie du contrat est correctement gere.

Auth

OK

Cle production recue, stockee cote serveur et separee de la sandbox.

Webhook

OK

Signature verifiee, idempotence branchee et endpoint HTTPS public.

Support

OK

Logs, alerting et procedure d escalade disponibles pour les cas critiques.

Checklist

  1. Séparer les environnements

    La cle sandbox n est jamais deployee en production. Les URLs de retour et les webhooks production sont distincts des URLs de recette.

  2. Sécuriser l'authentification

    x-api-key est stocke cote serveur uniquement. Aucun appel critique ne depend d une cle exposee au navigateur ou a l application mobile.

  3. Configurer le webhook partenaire

    PATCH /api/v1/partners/me/webhook est configure avec une URL HTTPS publique. Le webhookSecret est bien conserve dans un secret manager.

  4. Vérifier la signature

    Le handler valide x-insurance-signature sur le body brut avec une comparaison a temps constant avant tout traitement.

  5. Garantir l'idempotence

    Le couple reference + event ne cree jamais de doublon. Un retry webhook ou un rejeu admin ne casse pas l etat interne.

  6. Gérer les cas critiques

    ISSUANCE_FAILED declenche un alerting immediat et une procedure support. L UX ne doit jamais afficher "paiement echoue" dans ce cas.

  7. Tracer chaque requête

    Les logs conservent reference, x-request-id, environnement, timestamp UTC et resultat metier pour faciliter toute investigation.

  8. Valider le runbook support

    L equipe sait quoi faire pour 401, 403, 404, ISSUANCE_FAILED, webhook invalide ou reference introuvable.

Cas a valider avant ouverture

CasAttendu
Happy path completPENDING_PAYMENT puis ACTIVE et webhook insurance.contract.issued.
Paiement annulePas de contrat emis, contractStatus = PAYMENT_FAILED.
Paiement confirme puis emission echoueeWebhook insurance.contract.issuance_failed + alerting support.
Webhook signe invalideRejet du webhook et aucun effet metier.
Retry webhookAucun doublon, etat stable.
Reference relue apres webhook manqueGET /partner/contracts/requests/{reference} retourne le bon etat.

Pages a relire avant prod

Le go-live ne doit pas dependre uniquement d un test manuel reussi. Il faut egalement avoir valide la signature webhook, l idempotence et le traitement du cas ISSUANCE_FAILED.

On this page