node-envoimoinscher
Client pour le service EnvoiMoinsCher (http://www.envoimoinscher.com).
Le module traduit le XML de l'API d'EnvoiMoinsCher en JSON.
Installation
$ npm install node-envoimoinscher
Utilisation
Avant toute chose, l'identifiant, le mot de passe et une clé d'API sont nécessaires à l'authentification auprès d'EnvoiMoinsCher. La clé d'API est à demander par mail.
Ces information sont nécessaires à l'initialisation du module:
var emc = username: "..." password: "..." key: "..." environment: "...";
La propriété environment
est optionnelle et peut prendre deux valeurs "prod"
et "test"
. La valeur par défaut est "test"
.
Généralités
callback
suit la convention habituelle de Node.js, c'est à dire qu'il attend deux arguments :
err
: (object) objet de typeError
s'il existe une erreur, sinonnull
.data
: (json) réponse de l'API convertie en JSON s'il n'y a pas d'erreur, sinonnull
.
conf
, callback
)
emc.quotation(Obtient l'ensemble des offres possibles ainsi qu'un récapitulatif de la demande.
conf
: (json) contient les informations nécessaires à la demande de cotations.
Exemple:
Exemple:
emc;
Extrait de réponse: Il est possible voir à quoi ressemble une réponse dans quotation_response.json.
conf
, callback
)
emc.order(Effectue la commande et récupère l'objet retourné par EnvoiMoinsCher.
conf
: (json) contient les informations nécessaires à la soumission d'une commande. C'est un objetconf
de cotation étendu.
Exemple:
Exemple:
emc;
Extrait de réponse: Il est possible voir à quoi ressemble une réponse dans order_response_ok.json.
quotation
)
emc.find(Rend les offres d'une cotation requêtable. Les méthodes mises à la chaîne rendent la requête facilement lisible et sont exécutées dans l'ordre.
L'exemple suivant retourne cinq offres de l'opérateur UPSE (UPS) classé dans le sens alphabétique contraire:
emc ;
data
).where(type
).is(value
)
emc.find(Ces deux méthodes doivent être utilisées de pair.
type
: (string) peut prendre pour valeur"collection"
,"delivery"
,"mode"
,"operator"
,"service"
value
: (string) peut prendre différentes valeur selon le filtre associécollection
:"COMPANY"
,"DROPOFF_POINT"
,"HOME"
,"POST_OFFICE"
delivery
:"COMPANY"
,"HOME"
,"PICKUP_POINT"
mode
:"COM"
,"SYN"
operator
: (string) libre, correspond au code de l'opérateur, par exemple"USPE"
service
: (string) libre, correspond au code du service, par exemple"ExpressNational18H"
data
).orderBy(type
)
emc.find(Permet d'ordonner les offres par type
.
data
).desc()
emc.find(Permet d'inverser l'ordre des offres.
data
).limitTo(limit
)
emc.find(Permet de imiter le nombre de résultats.
limit
: (int)
data
).then(callback
)
emc.find(Exécute le callback (function), return() et when() ne peuvent pas être utilisées ensemble.
callback
ne prend qu'un seul argument:
offers
: (array) collection d'offres.
data
).return()
emc.find(Retourne la collection d'offres (array), return() et when() ne peuvent pas être utilisées ensemble.
Exemple:
var offers = emc return;
callback
)
emc.countries(Obtient la liste complète des pays.
Exemple:
emc;
Extrait de réponse:
callback
)
emc.categories(Obtient la liste complète des catégories de contenus possibles.
Exemple:
emc;
Extrait de réponse:
callback
)
emc.contents(Obtient la liste complète des contenus possibles.
Exemple:
emc;
Extrait de réponse:
id
, callback
)
emc.contentsByCategory(Obtient la liste des contenus d'une catégorie.
id
: (string) référence de la catégorie.
Exemple:
emc;
Extrait de réponse:
id
, [country
,] callback
)
emc.dropoff(Obtient le détail d'un point relais de départ.
id
: (string) référence du point relai.country
: (string) code pays ISO,"FR"
par défaut.
Exemple:
emc;
Extrait de réponse:
id
, [country
,] callback
)
emc.pickup(Obtient le détail d'un point relais d'arrivée.
id
: (string) référence du point relai.country
: (string) code pays ISO,"FR"
par défaut.
Exemple:
emc;
Extrait de réponse: