La fonction api.get_parcelshops_by_address¶
Cette fonction permet de récupérer une liste de point relais en fonction d’une adresse. Elle prend 3 arguments en paramètre :
username
: donné par IMXpassword
: donné par IMXdata
: dictionnaire de données contenant les données de votre requête
Requête¶
Liste des champs¶
Nom | Description |
---|---|
cf. options.network |
|
Dictionnaire décrivant les différentes options. Contient les champs suivants : | |
Réponse¶
Liste des champs¶
Champs | Description |
---|---|
0 : Mauvaise qualité 1 : Qualité moyenne 2 : Qualité excellente |
|
Liste décrivant les différentes erreurs. Contient les champs suivants : | |
Liste décrivant les différentes erreurs. Contient les champs suivants : | |
Objet de type dictionnaire qui contient des informations additionnelles relatif au point relais | |
Objet de type dictionnaire contenu dans la liste output qui contient les informations d’un point relais |
|
Objet de type dictionnaire qui contient les données d’adresse du point relais. | |
Liste des périodes de fermeture du point relais | |
Liste des jours et horaires d’ouvertures du point relais | |
Exemples¶
python¶
Exemple de requête avec le language python et le module jsonrpclib :
data = {
"address1": "4 Route de Varigney",
"postcode": "70800",
"town": "Briaucourt",
"country": "FR",
"options" : {
"networks" : "chronopost",
"nb_max" : 2,
"distance_max" : 40,
}
}
server = jsonrpclib.Server("https://webservice.imxpostal.fr/smc/rpc/")
resultat = server.api.get_parcelshops_by_address(USERNAME? PASSWORD? data)
pprint.pprint(resultat)
Résultat obtenu :
{
"success": true,
"response_quality": 2,
"nb_relais": 2,
"output": [
{
"distance": 14492,
"details": {
"address": {
"address1": "1 GRANDE RUE",
"address2": null,
"address3": null,
"company": "",
"country": "FR",
"email": "",
"phone": "",
"postcode": "70220",
"province": "",
"town": "FOUGEROLLES"
},
"holidays": [
{
"end": "2017-03-04T00:00:00",
"start": "2017-02-25T00:00:00"
}
],
"latitude": "47.88669680",
"longitude": "6.405361",
"name": "MAISON DE LA PRESSE",
"opening_hours": [
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "14:30",
"open_morning": "14:30",
"weekday": "mon"
},
{
"weekday": "tue",
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "14:30",
"open_morning": "14:30",
},
// etc.
],
"options": {
"extra_info": null,
"homepage": "",
"url_google_maps ": "http://maps.google.fr/maps?q=47.88669680,6.405361"
},
"parcelshop_id": "0867S"
},
},
{
"distance": 14416,
"details": {
"address": {
"address1": "20 GRANDE RUE", "address2": "RUE PRINCIPALE EN BAS",
"address3": None, "company": "",
"country": "FR",
"email": "",
"phone": "",
"postcode": "70210",
"province": "",
"town": "VAUVILLERS"
},
"holidays": [],
"latitude": "47.9227777778",
"longitude": "6.098055555560", "name": "PROXI SUPER",
"opening_hours": [
{
"close_afternoon": "", "close_morning": "12:00", "open_afternoon": "", "open_morning": "08:30",
"weekday": "sun"
},
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "16:00",
"open_morning": "08:30",
"weekday": "sat"
},
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "16:00",
"open_morning": "08:30",
"weekday": "fri"
},
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "16:00",
"open_morning": "08:30",
"weekday": "th"
},
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "16:00",
"open_morning": "08:30",
"weekday": "wed"
},
{
"close_afternoon": "19:00",
"close_morning": "12:15",
"open_afternoon": "16:00",
"open_morning": "08:30",
"weekday": "tue"
},
{
"close_afternoon": "", "close_morning": "19:00", "open_afternoon": "", "open_morning": "14:30",
"weekday": "mon"
}
],
"options": {
"extra_info": None, "homepage": "", "url_google_maps ":
"http://maps.google.fr/maps?q=47.9227777778,6.098055555560"
},
"parcelshop_id": "5668P"
},
}
],
}
La fonction api.get_all_parcelshops¶
Renvoie la liste de tous les point relais corresponsant au code pays et du network.
3 paramètres sont nėcessaires:
username
: donné par IMXpassword
: donné par IMXdata
: jeu de données nécessaire pour utiliser le endpoint
Requête : Description objet data¶
Fields | Description |
---|---|
Dictionnaire pour passer des options. Contient le champs ~network~: | |
Réponse:¶
Même structure de réponse que la fonction api.get_parcelshops_by_address précédent.
Exemples:¶
Exemple 1: Avec le module jsonrpclib de python¶
# coding: utf-8
import jsonrpclib
USERNAME = "donné par IMX"
PASSWORD = "donné par IMX"
data = {
"country": "CZ",
"options" : {
"network" : "paketa_relais"
}
}
server = jsonrpclib.Server("https://webservice.imxpostal.fr/smc/rpc/")
resultat = server.api.get_parcelshops_by_address(USERNAME, PASSWORD, data)
pprint.pprint(resultat)
Exemple 2: Avec le module requests de python¶
# coding: utf-8
import requests
from pprint import pprint
USERNAME = "username donné par IMX"
PASSWORD = "password donné par IMX"
data = {
"id":"XXX",
"jsonrpc":"2.0",
"method":"api.get_all_parcelshops",
"params":[
USERNAME,
PASSWORD,
{
"country": "CZ",
"options" : {
"network" : "paketa_relais"
}
}
]
}
url = "https://webservice.imxpostal.fr/smc/rpc/"
try:
response = requests.post(url, json=data)
except Exception as e:
raise e
else:
result = response["output"]
pprint(result)
La fonction api.get_parcelshop_details¶
Cette fonction permet de récupérer les informations d’un point relais à partir d’un pays et de l’id du point relais. Cette fonction n’est pas disponible pour le network dpdbe_relais. Elle prend 3 arguments en paramètre : • username: donné par IMX • password: donné par IMX • data: dictionnaire de données contenant les données de votre requête
Cette fonctionne uniquement avec le réseau Hermes, Chronopost et Paketa
Requête¶
Champs | Description |
---|---|
Version | |
country | |
parcelshop_id | |
language | |
options.network |
Réponse¶
Remarque : idem que pour api.get_parcelshops_by_address mais retourne un seul output plutôt qu’une liste.
Champs | Description |
---|---|
0 : Mauvaise qualité 1 : Qualité moyenne 2 : Qualité excellente |
|
Liste décrivant les différentes erreurs. Contient les champs suivants : | |
Liste décrivant les différentes erreurs. Contient les champs suivants : | |
Objet de type dictionnaire qui contient des informations additionnelles relatif au point relais | |
Objet de type dictionnaire contenu dans la liste output qui contient les informations d’un point relais |
|
Objet de type dictionnaire qui contient les données d’adresse du point relais. | |
Liste des périodes de fermeture du point relais | |
Liste des jours et horaires d’ouvertures du point relais | |
Exemples¶
Python¶
Exemple de requête avec le language python et le module jsonrpclib :
Résultat obtenu :
{
'success': True 'response_quality': 0,
'nb_relais': 1, 'output': {
'distance': 0 'details': {
'address': {
'address1': '1 GRANDE RUE', 'address2': None, 'address3': None, 'company': '',
'country': 'FR',
'email': '',
'phone': '', 'postcode': '70220', 'province': '',
'town': 'FOUGEROLLES'
},
'holidays': [
{
'end': '2017-03-04T00:00:00', 'start': '2017-02-25T00:00:00'
}
],
'latitude': '47.88669680', 'longitude': '6.405361',
'name': 'MAISON DE LA PRESSE',
'opening_hours': [
{
'close_afternoon': '12:15', 'close_morning': '12:00', 'open_afternoon': '12:00', 'open_morning': '07:00', 'weekday': 'sun'
},
{
'close_afternoon': '17:30', 'close_morning': '12:15', 'open_afternoon': '15:00', 'open_morning': '07:00', 'weekday': 'sat'
},
{
'close_afternoon': '19:00', 'close_morning': '12:15', 'open_afternoon': '14:30', 'open_morning': '06:30', 'weekday': 'fri'
},
{
'close_afternoon': '19:00', 'close_morning': '12:15', 'open_afternoon': '14:30', 'open_morning': '06:30', 'weekday': 'th'
},
{
'close_afternoon': '19:00', 'close_morning': '12:15', 'open_afternoon': '14:30', 'open_morning': '06:30', 'weekday': 'wed'
},
{
'close_afternoon': '19:00', 'close_morning': '12:15', 'open_afternoon': '14:30', 'open_morning': '06:30', 'weekday': 'tue'
},
{
'close_afternoon': '12:15', 'close_morning': '12:00', 'open_afternoon': '12:00', 'open_morning': '06:30', 'weekday': 'mon'
}
],
'options': {
'extra_info': None, 'homepage': '',
'url_google_maps ': 'http://maps.google.fr/maps?q=47.88669680,6.405361'
},
'parcelshop_id': '0867S'
},
},
}
Contact et support¶
Pour tout support technique quant à l’utilisation et la mise en oeuvre de cette API, merci d’adresser un mail à : ws.dev@imxpostal.fr.