Images et multipart/form-data
Les endpoints qui reçoivent une image (création d'un modèle de coupon, d'événement, de transport, d'hôtel, de communication, mise à jour du wallet…) attendent un corps multipart/form-data. La référence de chaque endpoint indique le type attendu.
Envoyer {"strip": "<fichier PNG>"} en application/json ne fonctionne pas. Utilisez multipart/form-data, et laissez votre client HTTP générer l'en-tête Content-Type (il contient la boundary).
Les trois règles du multipart
- Les fichiers sont des champs fichier :
-F "strip=@bandeau.png;type=image/png". - Les objets et tableaux (
colors,security,locations,displayOptions,iosHeader,date…) s'envoient en chaîne JSON :-F 'colors={"backgroundColor":"#131313","labelColor":"#9EE00D","foregroundColor":"#FFFFFF"}' - Les booléens s'envoient en texte
"true"ou"false". Toute autre valeur vautfalse.
- curl
- SDK Node.js
- nodejs
- php
- python
- java
- csharp
- go
- ruby
- CURL
curl -L 'https://api-v2.test.eldowallet.fr/coupons' \
-H 'Accept: application/json' \
-H 'x-lang: fr' \
-H 'Authorization: Bearer <token>' \
-F 'strip=@"bandeau.png"' \
-F 'colors="{\"backgroundColor\":\"\#59358B\",\"labelColor\":\"\#F2FBCE\",\"foregroundColor\":\"\#FFFFFF\"}"' \
-F 'security="{\"enableOneTimeUse\":true}"'
Contraintes sur les fichiers
| Formats d'image | PNG ou JPEG |
| Taille d'une image | de 1 Ko à 5 Mo |
| Import CSV | text/csv, 10 Mo et 100 000 lignes maximum |
| Par requête | 10 fichiers et 50 Mo par fichier au maximum |
Une image hors limites renvoie 400:VALIDATION_ERROR. Un corps multipart mal formé renvoie 400:INVALID_MULTIPART, et un Content-Type non pris en charge 415:UNSUPPORTED_MEDIA_TYPE.
Mises à jour
La plupart des endpoints PATCH acceptent multipart ou JSON. Utilisez JSON quand vous ne changez pas d'image : c'est plus simple.
Pour les dimensions recommandées des images de pass, voir la base de connaissances.