> For the complete documentation index, see [llms.txt](https://help.citrusad.com/retail-media-interface/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.citrusad.com/retail-media-interface/partner/fr/bulk-operation-api/bulk-operation-overview.md).

# Aperçu des opérations groupées

## Campagnes en lot

Les API d'actions en lot sont conçues pour aider les utilisateurs tels que les équipes AdOps, Managed Services et les fournisseurs à effectuer des opérations de création et de mise à jour à grande échelle sur les **campaign**, \*\*wallets \*\*et \*\*teams \*\*en un seul appel API. Cette approche d'API asynchrone simplifie les flux de travail, réduit l'effort manuel et améliore l'efficacité opérationnelle.

Ces API sont particulièrement utiles pour les scénarios à fort volume comme l'intégration, les lancements saisonniers ou les ajustements majeurs de campagnes, où effectuer des appels API individuels prendrait du temps et serait source d'erreurs.

### Avantages clés

* Efficacité : Réduit le nombre d'appels API et supprime les étapes manuelles inutiles en permettant plusieurs opérations dans une seule requête.
* Performance : Les API en lot minimisent le surcoût lié aux allers-retours HTTP. Au lieu d'envoyer de nombreuses requêtes individuelles (par exemple, 100 appels séparés), une seule requête en lot réduit la charge réseau et diminue les risques d'atteindre les limites de débit.
* Idempotence : Garantit que chaque opération de la requête en lot est idempotente, évitant ainsi les effets secondaires indésirables lors des réessais (tels que ceux déclenchés par les actions de l'interface utilisateur).
* Modèle de sécurité et d'autorisation granulaire : Applique les contrôles d'accès adéquats pour chaque opération et type d'entité au sein de la charge utile en lot, garantissant un traitement sécurisé de toutes les actions.
* Audit et journalisation : Conserve une journalisation et des pistes d'audit appropriées pour toutes les opérations au sein d'une requête en lot, garantissant ainsi la traçabilité.
* Capacité de prévisualisation : Certaines implémentations prennent en charge la prévisualisation des modifications avant leur application, ce qui aide à détecter les erreurs plus tôt.
* Intégrité transactionnelle : Une API en lot permet aux clients de regrouper un ensemble d'actions dans un seul appel API, ce qui permet de garantir que :
  * Chaque entité de la requête en lot est validée indépendamment.
  * Des messages d'erreur granulaires sont renvoyés pour identifier les entités qui ont échoué et pourquoi.
  * L'opération globale n'est pas bloquée si une entité échoue.

### Comment utiliser les API de campagnes en lot

#### 1. Soumettre une requête en lot

Vous envoyez une requête pour créer, modifier ou approuver plusieurs campagnes à la fois.

* Pour la création : `/v3/campaigns/bulk/create`
* Pour la modification : `/v3/campaigns/bulk/update`
* Pour les approbations : `/v3/campaigns/bulk/approve`

Une fois la requête envoyée, le système vous fournit un ID de lot et un statut tel que `submitted`. Le traitement effectif se déroule en arrière-plan.

**Exemple (Mise à jour de campagnes en lot) :**

```http
PATCH /v3/campaigns/bulk/update
{
  "campaigns": [
    {
      "campaign": {
        "id": "campaign_123",
        "name": "Updated Summer Sale Campaign",
        "startTime": "2025-08-01T00:00:00Z",
        "endTime": "2025-08-31T23:59:59Z",
        "campaignState": "CAMPAIGN_STATE_ACTIVE",
        "strategy": {
          "auction": {
            "maxBid": "6.5"
          }
        }
      },
      "mask": "name,startTime,endTime,campaignState,strategy.auction.maxBid",
      "campaignType": "CAMPAIGN_TYPE_BANNER"
    },
    {
      "campaign": {
        "id": "campaign_456",
        "name": "Holiday Promotion",
        "campaignState": "CAMPAIGN_STATE_PAUSED",
        "strategy": {
          "auction": {
            "maxBid": "5.0"
          }
        }
      },
      "mask": "name,campaignState,strategy.auction.maxBid",
      "campaignType": "CAMPAIGN_TYPE_BANNER"
    }
  ]
}
```

Réponse :

```json
{
  "bulkId": "c40f4f98-9b6b-11ee-b9d1-0242ac120002",
  "status": "BULK_OPERATION_SUBMITTED",
  "message": "Bulk campaign update request received and is being processed."
}
```

#### 2. Vérifier le statut

Utilisez l'ID de lot pour suivre la progression sur : `/v3/campaigns/bulk/status/{bulkId}`

Vous verrez :

* Quelles campagnes ont réussi ou échoué, avec des détails pour chacune.
* Messages d'erreur (le cas échéant).

**Exemple :**

```http
GET /v3/campaigns/bulk/status/c40f4f98-9b6b-11ee-b9d1-0242ac120002
```

{% hint style="info" %}
Remarques :

* Les API sont asynchrones : vous soumettez une tâche et interrogez régulièrement pour obtenir les résultats.
* Chaque entité de la requête en lot est validée indépendamment ; les erreurs sont signalées par élément.
* Les API en lot sont disponibles pour les campagnes, les portefeuilles et les équipes, avec des modèles similaires pour chaque ressource.
  {% endhint %}

### Matrice d'accès aux opérations en lot

| Opération                                                                                                                                                     | Méthode | Qui peut créer                                  | Qui peut voir le statut                               |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------- | ----------------------------------------------- | ----------------------------------------------------- |
| Campaigns                                                                                                                                                     |         |                                                 |                                                       |
| [Créer des campagnes en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkcampaignoperations/bulkcreatecampaign.md)                            | POST    | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Mettre à jour des campagnes en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkcampaignoperations/bulkupdatecampaign-1.md)                  | PATCH   | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Mettre à jour l'état d'approbation de la campagne](/retail-media-interface/partner/fr/bulk-operation-api/bulkcampaignoperations/bulkcampaignapproval.md)     | POST    | Admin, Primary Retailer                         | Admin, Primary Retailer                               |
| [Récupérer le statut de l'opération en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkcampaignoperations/bulkcampaignstatus-1.md)           | GET     | —                                               | Admin, Primary Retailer, Creator (including Supplier) |
| Wallet                                                                                                                                                        |         |                                                 |                                                       |
| [Créer des portefeuilles en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations/bulkcreatewallet.md)                            | POST    | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Mettre à jour des portefeuilles en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations/bulkupdatewallet.md)                    | PATCH   | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Récupérer le statut de l'opération de portefeuille en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations/bulkwalletstatus.md) | GET     | —                                               | Admin, Primary Retailer, Creator (including Supplier) |
| Team                                                                                                                                                          |         |                                                 |                                                       |
| [Créer des équipes en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations-1/bulkcreateteam.md)                                  | POST    | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Mettre à jour des équipes en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations-1/bulkupdateteam.md)                          | PATCH   | Admin, Primary Retailer, Supplier, General User | Admin, Primary Retailer, Creator (including Supplier) |
| [Récupérer le statut de l'opération d'équipe en masse](/retail-media-interface/partner/fr/bulk-operation-api/bulkwalletoperations-1/bulkteamstatus.md)        | GET     | —                                               | Admin, Primary Retailer, Creator (including Supplier) |

{% hint style="info" %}
Créer et mettre à jour des équipes en lot : Lorsqu'un fournisseur tente de mettre à jour des enregistrements en lot, l'API autorise un maximum de 50 enregistrements par requête. Si la requête contient plus de 50 enregistrements, l'API renvoie un message d'erreur indiquant que la limite a été dépassée.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.citrusad.com/retail-media-interface/partner/fr/bulk-operation-api/bulk-operation-overview.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
