With error.py
# Requête avec erreurs
# Il s’agit de la même requête que précédemment, mais le code postal est invalide (4 chiffres).
import base64
import pprint
import requests
URL = "https://webservice.imxpostal.fr/smc/rpc/"
USERNAME = "..." # fourni par IMX
PASSWORD = "..." # fourni par IMX
ACCOUNT = "..." # fourni par IMX
data = {
"jsonrpc": "2.0",
"method": "api.declare_parcel",
# identifiant de requête. A la convenance du client, pas nécessairement unique.
"id": "__test__",
"params": [
USERNAME,
PASSWORD,
{
"account": ACCOUNT,
"reference": "your reference number 3",
"options": {
"service": "1",
"carrier": "gls",
"carrier_tracking_id": True,
"label": True,
},
"parcel_description": {
"weight": "2.4", # in kg
},
"addressee": {
"name": "Olivier Migeon",
"company": "IMX postal",
"address1": "110b avenue General Leclerc",
"postcode": "9350",
"town": "Pantin",
"country": "FR",
},
}
]
}
xx = requests.post(URL, json=data)
pprint.pprint(xx.text)
# Response is as follow :
#
# {u'errors': [{u'code': u'INVALID',
# u'field': u'addressee.postcode',
# u'message': u'Valeur invalide',
# u'value': u'9350'}],
# u'infos': [],
# u'label_source': u'gls',
# u'success': False,
# u'warnings': []}