Exemple d'expédition à l'international (python)
# -*- coding:utf-8 -*-
#
# Requête plus complexe, expédition hors UE
#
#
#
import base64
import requests
URL = "https://webservice.imxpostal.fr/smc/rpc/"
# credentials to be given by IMX
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 2",
"options": {
"service": "1", # Suivi
"carrier": "",
"carrier_tracking_id": True,
"label": True,
},
"addressee": {
"name": "Olivier Migeon",
"company": "Municipalidad de Ituzaingo",
"address1": "Centenario 1519",
"postcode": "3302",
"town": "Ituzaingo",
"province": "Corrientes",
"country": "AR",
},
"parcel_description": {
"weight": "2.4", # in kg
"shipping_fees": "5",
"shipping_fees_currency": "EUR",
},
"parcel_content": [
{
"classification": "3304990000",
"description": "Tinted Fluid SPF 50+ 50ml",
"currency": "EUR",
"value": "10.75",
"origine": "FR",
},
{
"classification": "3305900000",
"description": "Phyto Repair Express Conditioner 150ml",
"currency": "EUR",
"value": "10.42",
"origine": "FR",
},
],
}
]
}
xx = requests.post(URL, json=data)
try:
output = xx.json()
print(output)
result = output["result"]
except:
output = xx.text
print(output)
else:
pdf_content = base64.b64decode(result["label"])
pdf_filename = "test-international.pdf"
open(pdf_filename, "wb").write(pdf_content)
# La réponse est similaire. Le PDF est composé de deux pages : l’étiquette distributeur et l’étiquette CN23.