La fonction “api.add_invoice”¶
Cette fonction permet d'uploader une facture pour un colis déjà déclaré à IMX.
Le webservice de déclaration de colis permet déjà la transmission de la facture, mais cette fonction permet une transmission de facture a posteriori. Elle est également utile pour les clients déclarant leurs colis par fichiers FTP.
Description de la requête¶
Cette fonction prend trois 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.
L'objet data
¶
Tous les champs sont obligatoires.
Nom | Description |
---|---|
Remarques¶
- IMX ne stocke qu'une facture par colis. Des eventuels appels successifs à cette fonction écrasent les versions précedemment stockées de la facture colis.
- La facture associée à un colis est disponible dans l'interface de recherche
sur suivi.imxpostal.fr, dans l'onglet
Documents
du détail colis.
Description de la réponse¶
Champs | Description |
---|---|
ok si la requête a correctement été traitée |
Exemple¶
python¶
import base64
import requests
# Encodage base64 du fichier pdf de la facture
invoice = base64.b64encode(
open("{invoice_filename}", "rb").read()
).decode("utf-8")
# Construction du dictionnaire de données
data = {
"id": "test",
"jsonrpc": "2.0",
"method": "api.add_invoice",
"params": [
"{imx_username}",
"{imx_password}",
{
"account": "{imx_account}",
"imx_tracking_id": {imx_tracking_id},
"invoice_number": "{invoice_number}",
"invoice": invoice,
},
],
}
# Appel de l'API
xx = requests.post("https://webservice.imxpostal.fr/smc/rpc/", json=data)
output = xx.json()
assert xx["result"]["status"] == "ok"