Aperçu

Pour commencer à utiliser l'API SnapGrab:

Que peut faire l'API

L'API de SnapGrab vous fournit une interface claire et simple pour générer des devis de livraison, commander des livraisons sur la plate-forme SnapGrab, consulter, suivre et annuler vos livraisons.

Vous pouvez utiliser l'API SnapGrab pour profiter de notre flotte de chauffeurs, obtenir des commandes ou livrer des colis en seulement 60 minutes dans notre zone de livraison géographique, desservant la ville suivante:

  • Montréal, Qc, Canada

Voici ce que les développeurs font généralement avec l'API:

  • Préparation d’un devis pour une livraison en 1 heure en fournissant les deux adresses au endpoint.
  • Création de l’ordre de livraison dans le réseau SnapGrab si le devis est approuvé.
  • Suivi des mises à jour du statut des livraisons SnapGrab en fournissant un ID de commande unique pour chaque ordre de livraison créé.
Quelles types de livraisons peuvent faire les entreprises avec l'API?

Avec l'API SnapGrab, vous pouvez faire livrer la plupart des articles transportables par une personne. Veuillez consulter nos conditions d'utilisation de l'API, notre politique d'expédition et notre code de conduite avec nos partenaires pour plus d'informations.

Authentification

Tous les endpoints fournis par SnapGrab sont reliés à un partenaire commerçant spécifique. Vous aurez besoin de votre clé API lors de chaque demande.

Serveur

L'URL de base est: https://api.snapgrabdelivery.com/v1/

Mode d'essai

Afin de faciliter l'intégration de notre API, nous mettons à votre disposition un mode test. Vous pouvez vous entraîner sur tous les endpoints sans être facturé en utilisant votre clé test API qui se trouve dans les paramètres de votre tableau de bord commerçant. Les livraisons commandées en mode test ne seront pas effectuées par un vrai livreur.

Veuillez basculer entre votre touche live et test pour passer du mode live au mode test.

Clé live

Pour obtenir une clé live active, mettez à jour votre mode de paiement dans la page Paramètres du tableau de bord commerçant. Une fois votre mode de paiement enregistré, votre clé live sera alors valide.

IMPORTANT: votre clé live est une donnée sensible. Conservez-la avec précaution et ne la partagez pas avec des parties hors de votre contrôle direct. Vos clés API vous donnent un accès direct à l'API SnapGrab en votre nom.

Gestion des versions

Le contrôle de version nous permet de fournir aux développeurs une expérience d’une qualité constante.

Tous les endpoints sont préfixés avec une version telle que / v1. Cette version fait référence à la présentation générale des endpoints et des normes de services.

Adresses

Veuillez fournir l'adresse de dépôt au format suivant:

Adresse, ville, province, code postal

Important: il est recommandé de fournir à l'API SnapGrab les adresses générées par Google Maps ou les adresses au format Google Maps pour garantir un géocodage efficace.

Toutes autres informations telles que les codes de porte, les codes d’interphones, et les numéros d'appartement doivent être ajoutées dans le champ "Instructions". Toute information supplémentaire ajoutée dans le champ "DropOffAddress" peut entraîner un mauvais format d’adresse dans notre système et gêner la détection exacte de l'emplacement, voire totalement.

Demandes

La structure à suivre pour les demandes POST est la suivante.

{
  "Key":"26cac56d-1d00-4c73-827e-4f9a66473445";
  ...
}
          

Réponses

L’API SnapGrab utilise des codes HTTP pour indiquer le statut de vos demandes.

Toutes les réponses sont données en JSON.

  • 201 - Successful
  • 400 - Validation or processing error (See error section)
  • 401 - Unauthorized. You API is wrong or missing.

Codes d’erreur

L’API SnapGrab classifie les erreurs selon 2 types: validation erros (Code 1xx) ou processing errors (code 2xx). Ces deux types d'erreurs renvoient 400 codes de statut HTTP avec la structure suivante.

{
  "Code":"101";
  "Message":"DropOff address is not located in serviced delivery area."
}
          
ERREURS DE VALIDATION
101
102
103
104
105
106
107
108
109
110
ERREURS DE TRAITEMENT
HTTP CODES D’ERREUR
  • 401 - Unauthorized, Authentication was incorrect. Please verify your API key.
  • 404 - Not found.
  • 500 - Internal Server Error, We were unable to process this request.

Ressources

Obtenir un devis

La première étape à la création d’une demande de livraison en passant par l’API SnapGrab est de générer un devis. Ce devis facilitera vos décisions ainsi que celles de vos clients pour les frais de livraisons et la disponibilité. Le calcul des frais se base sur plusieurs facteurs tels que la distance, la complexité de la livraison, la disponibilité des chauffeurs et le trafic routier.

La prise en charge par le chauffeur sera toujours effectuée dans les 60 minutes qui suivent l'heure de prise en charge prévue. La livraison sera effectuée immédiatement après la collecte de la commande.

Note *: L'heure de prise en charge prévue n'est pas l'heure exacte à laquelle le livreur se présentera à votre lieu de prise en charge.

Le devis de livraison est valable pour une période de 30 minutes à compter de sa demande.

* IMPORTANT * Veuillez entrer l'adresse de livraison au format suivant:

Adresse, ville, province, code postal

Important: il est recommandé de fournir à l'API SnapGrab les adresses générées par Google Maps ou les adresses au format Google Maps pour garantir un géocodage efficace.

Toutes autres informations telles que les codes de porte, les codes d’interphones, et les numéros d'appartement doivent être ajoutées dans le champ "Instructions". Toute information supplémentaire ajoutée dans le champ "DropOffAddress" peut entraîner un mauvais format d’adresse dans notre système et gêner la détection exacte de l'emplacement, voire totalement.

DEMANDE D’INFORMATION

POST: /order/prepare

{
  "Key": "26cac56d-1d00-4c73-827e-4f9a66473445"
  "ScheduledAt": "2020-08-01T23:35:36.628Z"
  "DropOffAddress": "1600 Henri-Bourassa Boulevard West, Montreal, QC, Canada";
  "CustomerName": "Tyler Bryant";
  "CustomerPhone": "5141234567";
  "CustomerEmail": "Tyler@SnapGrab.com";
  "Instructions": "Unit 1";
  "LargeOrder": false,
  "BringBack": false,
}
          
DEMANDE D’INFORMATION
Key
ScheduledAt
DropOffAddress
CustomerName
CustomerPhone
CustomerEmail
InstructionsDEMANDE D’INFORMATIONDEMANDE D’INFORMATION
LargeOrder
BringBack
INFORMATIONS DE RÉPONSE
{
  "Token": "21bd6cb0-89fa-4738-a659-7667f0446f3d"
  "Prices": {
    "BaseFare": 12.99;
    "DistanceFare": 0.50;
    "LargeOrderFare": 0;
    "SurgeTime": false;
    "tvq": 1.35;
    "tps": 0.67;
    "TotalAmount": 15.51;
    "DeliveryCharge": 13.49;
    "Distance": 3200;
    "ServiceFee": 0;
  }
}
          
Token
BaseFare
DistanceFare
LargeOrderFare
SurgeTime
tvq
tps
TotalAmount
DeliveryCharge
Distance
ServiceFee
ERREURS
101
102
103
104
105
106
107
108
109
110

Création d’une livraison

Une fois votre devis reçu, il est alors temps de créer un ordre de livraison réel sur la plateforme SnapGrab. Pour ce faire, vous devrez fournir votre clé API live personnelle ainsi que la clé générée lors du devis. N'oubliez pas que cette dernière n’est active que pendant 30 minutes à partir du moment où votre demande de devis a été effectuée. Une fois votre livraison créée, les frais de livraison seront déduits du mode de paiement que vous avez fourni dans les paramètres de votre tableau de bord Commerçant.

DEMANDE D’INFORMATION

POST: /order

{
  "Key": "26cac56d-1d00-4c73-827e-4f9a66473445";
  "Token": "21bd6cb0-89fa-4738-a659-7667f0446f3d";
}
          
Key
Token
INFORMATIONS DE RÉPONSE
{
  "Id": 3456;
  "TrackingLink": "https://api.snapgrabdelivery.com/track/7df5805d-3ce8-4dc9-b229-1440a013c3b7";
  "CustomerName": "Tyler Bryant";
  "DeliveryAddress": "1600 Henri-Bourassa Boulevard West, Montreal, QC, Canada";
  "CustomerPhone": "5141234567";
  "Instructions": "Unit 1";
  "ScheduledTime": "2020-08-01T23:35:36.628Z";
  "DeliveryStage": "Received";
  "DriverName": "null";
}
          
Id
TrackingLink
CustomerName
DeliveryAddress
CustomerPhone
Instructions
ScheduledTime
DeliveryStage
DriverName
ERREURS
201
202

Suivre une commande

Une fois que votre livraison a correctement été formulée sur la plateforme SnapGrab, il vous est alors possible de récupérer des informations précises à son sujet.

DEMANDE D’INFORMATION

POST: /order/track

{
  "Key": "26cac56d-1d00-4c73-827e-4f9a66473445"
  "Id": 3456
}
          
Key
Id
INFORMATIONS DE RÉPONSE
{
  "Id": 3456;
  "TrackingLink": "https://api.snapgrabdelivery.com/track/7df5805d-3ce8-4dc9-b229-1440a013c3b7";
  "CustomerName": "Tyler Bryant";
  "DeliveryAddress": "1600 Henri-Bourassa Boulevard West, Montreal, QC, Canada";
  "CustomerPhone": "5141234567";
  "Instructions": "Unit 1";
  "ScheduledTime": "2020-08-01T23:35:36.628Z";
  "DeliveryStage": "Received";
  "DriverName": "Steve Leonard";
}
          
Id
TrackingLink
CustomerName
DeliveryAddress
CustomerPhone
Instructions
ScheduledTime
DeliveryStage
DriverName
ERREURS
203

Annuler une commande

Une fois votre demande de livraison effectuée sur la plateforme SnapGrab, il vous est possible d’annuler une commande en cours. Des frais de livraison peuvent cependant encore s'appliquer.

DEMANDE D’INFORMATION

POST: /order/cancel

{
  "Key": "26cac56d-1d00-4c73-827e-4f9a66473445"
  "Id": 3456;
  "Reason": "Customer isn't home right now";
}
          
Key
Id
Reason
INFORMATIONS DE RÉPONSE
{
  "Id": 3456;
  "CustomerName": "Tyler Bryant";
  "DeliveryAddress": "1600 Henri-Bourassa Boulevard West, Montreal, QC, Canada";
  "CustomerPhone": "5141234567";
  "Instructions": "Unit 1";
  "ScheduledTime": "2020-08-01T23:35:36.628Z";
  "DeliveryStage": "Cancelled";
  "DriverName": "Steve Leonard";
}
          
Id
TrackingLink
CustomerName
DeliveryAddress
CustomerPhone
Instructions
ScheduledTime
DeliveryStage
DriverName
ERREURS
203
204
205

Liste des commandes

Vous pouvez extraire et répertorier votre commande confirmée depuis la plateforme SnapGrab pour voir quelle livraison a été passée avec succès. Cet outil est particulièrement utile sur le mode Test pour vérifier si votre demande d'API est réussie.

DEMANDE D’INFORMATION

POST: /orders

{
  "Key": "26cac56d-1d00-4c73-827e-4f9a66473445";
  "Offset": 0;
  "OrderType": ["Booking"];
  "Limit": 20;
  "DeliveryStage": ["Received","Completed"];
  "SortBy": "ScheduledAt";
  "OrderBy": "Desc";
  "Period": ["2020-05-22T08:15:07.943Z","2020-08-14T16:15:07.943Z"];
}
        
Key
Offset
Limit
DeliveryStage
SortBy
OrderBy
Period
OrderType
INFORMATIONS DE RÉPONSE
{
  "Count":2,
  "Orders":
  [
    {
      "Id":"2891",
      "TrackingLink":"https://sgswiftadmin.snapgrabdelivery.com/track/0706cd14-b af0-4e59-a242-7df6d38e6ab8",
      "CustomerName":"Terry",
      "DeliveryAddress":"1600 Henri-Bourassa Boulevard West, Montreal, QC, Canada",
      "CustomerPhone":"1231231231",
      "Instructions":"Unit 4",
      "ScheduledTime":"2020-05-22T08:15:07.943Z",
      "DeliveryStage":"Completed",
      "DriverName":null,
    },
    {
      "Id":"2873",
      "TrackingLink":"https://sgswiftadmin.snapgrabdelivery.com/track/ab9cb42e-8 a8b-4446-b05a-c71336e02a2b",
      "CustomerName":"Fred Jordan",
      "DeliveryAddress":"1000 Rue Ottawa, Montréal, QC H3C 0P3, Canada"
      "CustomerPhone":"1231231231",
      "Instructions":"Unit 1",
      "ScheduledTime":"2020-05-22T09:15:07.943Z",
      "DeliveryStage":"Completed",
      "DriverName":"Henry Brown",
    }
  ]
}
          
Count
Orders
ERREURS
110

Le client est indisponible lors de la livraison

Le livreur dispose d’un délai de 5 minutes pour déposer la commande au client une fois arrivé sur les lieux de la livraison. Si le destinataire n’est pas chez lui ou indisponible, le livreur pourra marquer "client indisponible" sur la livraison. Un retour sur les lieux de la collecte du commerçant est alors enclenché, impliquant des frais de livraison additionnels. Le livreur n’a en aucun cas la possibilité de statuer la livraison comme “client indisponible” avant la fin des 5 minutes d’attente réglementaires.

Livraisons annulées

Les livraisons peuvent être annulées à tout moment jusqu'à ce que la livraison soit faite ou au stade de “Finalisée”. Des frais de livraisons peuvent tout de même s’appliquer. Veuillez consulter notre politique de frais d'annulation.

Assistance supplémentaire

Pour toute question concernant l’API SNAPGRAB COURSIERS, veuillez nous contacter.