> ## Documentation Index
> Fetch the complete documentation index at: https://generaltranslation.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Création d'une campagne DPA - étape par étape

L'exemple suivant suppose que vous avez installé, configuré et autorisé votre App et votre utilisateur à l'aide de twurl. twurl est un outil en ligne de commande dans l'esprit de cURL qui gère de manière transparente l'authentification OAuth pour X. twurl est un excellent outil pour tester et déboguer rapidement les fonctionnalités de l'Ads API (et de l'API REST). Pour afficher l'intégralité des en-têtes de la requête et de la réponse, utilisez -t pour tracer l'appel, ce qui correspond à peu près à l'option -v de cURL.

Dans cet exemple, nous allons créer une campagne de publicités produits dynamiques (Dynamic Product Ads, DPA).

Récupérez l'id du compte.

```bash theme={null}
twurl -H ads-api.x.com /12/accounts/
```

```json theme={null}
{
  "request": {
    "params": {}
  },
  "data": [
    {
      "name": "Test account for @AdsAPI",
      "timezone": "America/Los_Angeles",
      "timezone_switch_at": null,
      "id": "xxxxxx",
      "created_at": "2014-03-09T00:41:49Z",
      "salt": "f9f9d5a5f23075c618da5eb1d1a9df57",
      "updated_at": "2015-01-29T00:41:49Z",
      "approval_status": "ACCEPTED",
      "deleted": false
    }
  ],
  "data_type": "account",
  "total_count": 1,
  "next_cursor": null
}
```

Récupérez l’identifiant de l’instrument de financement.
Appelez l’API GET accounts/:account\_id/funding\_instruments en utilisant l’id du compte récupéré avec la commande précédente.

```bash theme={null}
twurl -H ads-api.x.com /12/accounts/xxxxxx/funding_instruments
```

```json theme={null}
{
  "data": [
    {
      "cancelled": true,
      "created_at": "2014-03-09T00:41:49Z",
      "credit_limit_local_micro": null,
      "currency": "USD",
      "deleted": false,
      "description": null,
      "end_time": null,
      "funded_amount_local_micro": null,
      "id": "yyyy",
      "type": null,
      "updated_at": "2014-05-29T00:41:49Z"
    }
  ],
  "data_type": "funding_instrument",
  "next_cursor": null,
  "request": {
    "params": {
      "account_id": "xxxxxx"
    }
  },
  "total_count": 1
}
```

<div id="step-1-create-campaign">
  ## Étape 1 : Créer une campagne
</div>

Créez une campagne et associez-la à l’instrument de financement.
Spécifiez une heure de début et un budget pour la campagne.

* Champs obligatoires : instrument de financement, nom de la campagne, budget (total/quotidien), heure de début et ID du compte publicitaire

```bash theme={null}
twurl -H ads-api.x.com -d "funding_instrument_id={FUNDING_INSTRUMENT_ID}&name={CAMPAIGN_NAME}&total_budget_amount_local_micro={TOTAL_BUDGET}&daily_budget_amount_local_micro={DAILY_BUDGET}&start_time={START_TIME}" /12/accounts/{ADS_ACCOUNT_ID}/campaigns | jq
```

<div id="step-2-create-line-item-with-sales-objective">
  ## Étape 2 : Créer un line item avec l’objectif « Sales »
</div>

Créez un line item associé à la campagne.

* Champs obligatoires : campaign id (à partir de l’étape 1), product type, placements, objective, goal, entity status, primary web event tag, catalog id, product set id, creative\_source, ads\_account\_id
* catalog\_id et product\_set\_id se trouvent dans votre Shopping Manager
* creative\_source doit toujours être DYNAMIC\_PRODUCT\_CREATIVE
* objective doit toujours être WEBSITE\_CLICKS
* goal doit toujours être WEBSITE\_CONVERSIONS

```bash theme={null}
twurl -H ads-api.x.com -d "campaign_id={CAMPAIGN_ID}&product_type={product_type}&placements={PLACEMENTS}&objective=WEBSITE_CLICKS&goal=WEBSITE_CONVERSIONS&entity_status={entity_status}&primary_web_event_tag={WEB_EVENT_TAG}&catalog_id={catalog_id}&product_set_id={product_set_id}&creative_source=DYNAMIC_PRODUCT_CREATIVE" /12/accounts/{ADS_ACCOUNT_ID}/line_items | jq
```

* Après cette étape, la campagne sera visible dans l’Ads Manager de X.

<div id="step-3-create-dpa-card">
  ## Étape 3 : Créer une carte DPA
</div>

Créez une carte DPA.

* Paramètres requis : ID de compte publicitaire et URL :
* L’URL doit commencer par [https://twitter.com](https://twitter.com) ; vous pouvez ensuite ajouter tout paramètre UTM supplémentaire, comme dans l’exemple ci‑dessous :
  * `https://twitter.com?utm_source=%7B%7Bsite_source%7D%7D`
* En option, vous pouvez choisir le format de votre carte en spécifiant creative\_type avec l’une des valeurs suivantes : "CAROUSEL", "SINGLE", "COLLECTION". Si vous ne le spécifiez pas, votre carte sera créée au format carrousel.

```bash theme={null}
twurl -X POST -H ads-api.twitter.com -A "Content-Type: application/json" "/12/accounts/{ADS_ACCOUNT_ID}/dynamic_product_cards" -d '{"url": "{URL}", "creative_type": "{CREATIVE_TYPE}"}' | jq
```

<div id="step-4-create-post">
  ## Étape 4 : Créer une Publication
</div>

Créez une publication.

* Paramètres requis : ID du compte Ads, ID de l’utilisateur, URI de carte (de l’étape 3), texte, nom et publicité produit dynamique
* dynamic\_product\_ad doit toujours être défini sur true

```bash theme={null}
twurl -X POST -H "https://ads-api.twitter.com" "/12/accounts/{ADS_ACCOUNT_ID}/tweet?as_user_id={USER_ID}1&card_uri=card%3A%2F%2F{CARD_URI}&text={POST_TEXT}&name={POST_NAME}%201&dynamic_product_ad=true" | jq
```

<div id="step-5-associate-post-with-line-item">
  ## Étape 5 : Associer la publication à l’élément de campagne
</div>

Associez la publication à l’élément de campagne.

* Paramètres requis : id du compte publicitaire, id de l’élément de campagne (à partir de l’étape 2) et id du Tweet (`id_str` à partir de l’étape 4)

```bash theme={null}
twurl -X POST -H "https://ads-api.twitter.com" "/12/accounts/{ADS_ACCOUNT_ID}/promoted_tweets?line_item_id={line_item_id}&tweet_ids={tweet_id}" | jq
```

Si les annonceurs souhaitent voir la carte dans l’interface, elle y sera également disponible.
