Check list
Cette liste est là pour vous aider à valider votre implémentation. Si vous cochez toutes les cases alors notre solution est correctement implémentée chez vous !
Prérequis
- Le contrat Cocolis a bien été signé pour utiliser notre service
- Vérifier que l'utilisateur API dispose du crédit suffisant pour assurer les créations de Ride. Dans le cas contraire, le can_match retournera toujours false et cocolis ne sera jamais proposé
Qualité des données
- Vérifier que les numéros de téléphone du client et du vendeur sont bien envoyés pour le bon déroulé des livraisons (il devra être envoyé via API, une erreur sera visible sans la spécification du numéro).
- En cas d'assurance, bien envoyer la date de naissance du client et les informations le concernant
Qualité d'intégration
- Si le can_match renvoie true alors cocolis est proposé comme mode de livraison et au prix suggéré (ou plus).
- Le prix affiché a bien été converti en euros. On le renvoie en centimes
- Si le can_match renvoie false (a tester en sandbox en mettant comme code postal de destination 15000) alors cocolis n'est pas proposé
- Dans le can_match j'ai envoyé la valeur content_value en CENTIMES afin d'avoir une proposition de prix avec assurance et sans assurance
- L'annonce chez cocolis n'est créée QUE à la réception du paiement
- Le prix envoyé pour créer une annonce chez cocolis correspond au montant des frais de ports EN CENTIMES payés par l'utilisateur hors prix de l'option de livraison
- Si cocolis propose une assurance alors j'affiche deux prix avec et sans assurance ainsi que le lien vers le pdf des conditions générales d'utilisation
- Dans le cas d'une annonce avec assurance, alors j'envoie la champ : with_insurance=true et content_value= la valeur de la commande en centimes
- Dans le cadre d'une assurance, j'envoie tous les champs commençant par insurance_* que je vois ici : ride-create.v1.json
Optionnel
- Cocolis propose des options de livraison additionnelles, l'utilisateur peut choisir une seule option par catégorie, ne pas renvoyer le prix de l'option dans celui envoyé pour créer l'annonce.
Requis techniques
- Configurer les Webhooks (si c'est nécessaire pour votre application) et avoir des urls accessibles publiquement. Nous ne gérons pas de htpassword. Chaque compte cocolis (production ou sandbox) a ses propres configurations de webhook.
- Sur le webhook offer_completed la commande passe en terminée
- La réponse des urls de webhook doit être un 200 en moins de 2 secondes. Tout traitement doit être fait en asynchrone via un gestionnaire de job/worker
- Vérifier que les Webhooks n'échouent pas (possible de vérifier les appels ici : https://www.cocolis.fr/co/my-account/webhooks) => Changer l'URL en fonction de l'environnement
- Le prix envoyé lors de la création d'une ride doit être en centimes
- En cas d'authentification "classique" (sans clé API dans le header), vérifier que la connexion n'expire pas trop vite et demander un nouveau token
Sécurité
- Vérifier que chaque environnement de travail correspond aux identifiants / clé API renseignés. Par exemple, vos environnements de recette doivent pointer vers notre sandbox
- Vous devez avoir un certificat SSL valide
- Après la réception d'un webhook, nous vous conseillons de faire la requete GET de la ressource (Offer ou Ride) afin de récupérer ses dernières informations. Sinon un utilisateur mal intentionné pourrait par exemple passer les commandes en terminé chez vous en envoyant des paramètres à vos urls de webhook. Il est indispensable de vérifier l'intégrité des données lors des appels webhooks.
- En cas de changement de nom de domaine ou d'adresse IP vérifier que l'adresse des Webhooks configurées soit toujours la bonne