Aller au contenu principal

Envoyer des coupons

POST

https://api-v2.test.eldowallet.fr/coupons/:id/passes/send

Envoie un coupon à des clients existants ou à des destinataires qui ne sont pas clients. Avec clientId, les données de la carte de fidélité du client sont utilisées ; sans clientId, firstName, lastName et email sont obligatoires. Accepte multipart/form-data pour remplacer l'image du bandeau. webhookUrl et forceSync sont facultatifs. La réponse est une opération en masse : suivez son statut et ses résultats avec GET /bulk-operations/{operationId}.

À retenir
  • Corps en multipart/form-data : les objets imbriqués (colors, security, locations…) s'envoient en chaîne JSON, les booléens en "true"/"false". Images : PNG ou JPEG, 1 Ko à 5 Mo.
  • clients[].firstName est obligatoire si clientId est absent ou false.
  • clients[].lastName est obligatoire si clientId est absent ou false.
  • clients[].email est obligatoire si clientId est absent ou false.
  • Envoie un coupon à des clients existants ({clientId}) ou à des non-clients ({firstName, lastName, email}), avec des valeurs propres à chaque destinataire : barcode, promoCode, description, value, expirationDate. Un tableau clients vide cible tous les clients du wallet. S'exécute comme une opération en masse (webhookUrl, forceSync). acceptPartialDelivery gère le cas d'un crédit insuffisant sur certains canaux (409:INSUFFICIENT_CREDIT_PARTIAL). Accepte application/json ou multipart (quand overrideStripImage est un fichier ; ce peut aussi être une URL).

Requête​

path parameters
  • id string required
    Identifiant du modèle de coupon à envoyer.
header parameters
  • x-lang string
    Langue des messages d'erreur et des textes renvoyés : `fr` ou `en`.
    enum: en, frdefault: "en"
Body application/json required
  • webhookUrl string
    URL de webhook appelée à la fin de l'opération en masse. En-têtes d'authentification : ajoutez `#headers=Authorization:Bearer%20token` à l'URL.
    example: https://example.com/webhook#headers=Authorization:Bearer%20token
  • forceSync boolean
    Exécute l'opération de manière synchrone (moins de 1 000 éléments). Si la valeur est `true` et que la requête contient 1 000 éléments ou plus, elle est rejetée.
    default: false
  • overrideStripImage string <binary>
    Image de bandeau de remplacement, facultative. En `multipart/form-data` : envoyez un fichier image (PNG/JPEG). En `application/json` : indiquez l'URL de l'image.
  • clients object[] required
    • clientId string
    • firstName string
    • lastName string
    • email string <email>
    • phoneNumber string
    • barcode string
    • promoCode string
    • description string
    • value string
    • expirationDate string <date-time>
Body multipart/form-data required
  • webhookUrl string
    URL de webhook appelée à la fin de l'opération en masse. En-têtes d'authentification : ajoutez `#headers=Authorization:Bearer%20token` à l'URL.
    example: https://example.com/webhook#headers=Authorization:Bearer%20token
  • forceSync boolean
    Exécute l'opération de manière synchrone (moins de 1 000 éléments). Si la valeur est `true` et que la requête contient 1 000 éléments ou plus, elle est rejetée.
    default: false
  • overrideStripImage string <binary>
    Image de bandeau de remplacement, facultative. En `multipart/form-data` : envoyez un fichier image (PNG/JPEG). En `application/json` : indiquez l'URL de l'image.
  • clients object[] required
    • clientId string
    • firstName string
    • lastName string
    • email string <email>
    • phoneNumber string
    • barcode string
    • promoCode string
    • description string
    • value string
    • expirationDate string <date-time>

Réponses​

Schéma application/json
  • operationId string required
    Identifiant unique de l'opération en masse.
    example: 507f1f77bcf86cd799439011
  • totalItems number required
    Nombre total d'éléments de l'opération.
    example: 100
  • successCount number required
    Nombre d'éléments traités avec succès.
    example: 95
  • failureCount number required
    Nombre d'éléments en échec.
    example: 5
  • status string required
    Current status of the operation
    enum: pending, processing, completed, failedexample: pending
    • operationErrors object[]
      Liste des erreurs des éléments en échec.
      • itemId string required
        Identifiant de l'élément en échec.
        example: 507f1f77bcf86cd799439011
      • message string required
        Message d'erreur.
        example: Client not found
      • code string
        Code d'erreur, s'il est disponible.
        example: 404:MODEL_NOT_FOUND
    • results object[]
      Liste des résultats des éléments traités avec succès.
      • itemId string required
        Identifiant de l'élément.
        example: 507f1f77bcf86cd799439011
      • result object
        Données du résultat.
    • createdAt string <date-time> required
      Date et heure de création de l'opération.
      example: 2024-01-01T00:00:00.000Z
    • completedAt string <date-time>
      Date et heure de fin de l'opération.
      example: 2024-01-01T00:05:00.000Z

    Les nouveautés de l'API, une fois par mois

    Nouveaux endpoints, changements à prévoir, guides et cas d'usage. Pas de spam, désinscription en un clic.

    Signaler un problème technique

    Une erreur de l’API, un pass qui ne se met pas à jour, un e-mail qui n’arrive pas ? Décrivez le problème : notre équipe technique vous répond.

    Pour une réponse rapide, indiquez :

    • La méthode et l’endpoint (ex. POST /clients)
    • Le code d’erreur renvoyé (errorCode) et le corps envoyé
    • La date et l’heure de l’appel
    • Les identifiants concernés (client, modèle, pass)

    N’y mettez jamais de jeton d’API ni de mot de passe.

    Assistant IA

    Beta

    Chargement…

    Réponses générées par IA (Claude) : vérifiez les points importants.

    Connectez-vous pour utiliser l'assistant