[{"data":1,"prerenderedAt":1603},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-advertiser-api-write":131,"-fr-advertiser-api-write-surround":1598},[4,18,47,60,69,102,127],{"title":5,"path":6,"stem":7,"children":8,"page":17},"Getting Started","\u002Ffr\u002Fgetting-started","fr\u002F1.getting-started",[9,13],{"title":10,"path":11,"stem":12},"Installation","\u002Ffr\u002Fgetting-started\u002Finstallation","fr\u002F1.getting-started\u002F1.installation",{"title":14,"path":15,"stem":16},"Configuration","\u002Ffr\u002Fgetting-started\u002Fconfiguration","fr\u002F1.getting-started\u002F2.configuration",false,{"title":19,"path":20,"stem":21,"children":22,"page":17},"Features","\u002Ffr\u002Ffeatures","fr\u002F2.features",[23,27,31,35,39,43],{"title":24,"path":25,"stem":26},"Suivi des Pages Vues","\u002Ffr\u002Ffeatures\u002Fpageview-tracking","fr\u002F2.features\u002F1.pageview-tracking",{"title":28,"path":29,"stem":30},"Suivi des Conversions","\u002Ffr\u002Ffeatures\u002Fconversion-tracking","fr\u002F2.features\u002F2.conversion-tracking",{"title":32,"path":33,"stem":34},"Support SPA","\u002Ffr\u002Ffeatures\u002Fspa-support","fr\u002F2.features\u002F3.spa-support",{"title":36,"path":37,"stem":38},"React & Next.js","\u002Ffr\u002Ffeatures\u002Freact-integration","fr\u002F2.features\u002F4.react-integration",{"title":40,"path":41,"stem":42},"Vue & Nuxt","\u002Ffr\u002Ffeatures\u002Fvue-integration","fr\u002F2.features\u002F5.vue-integration",{"title":44,"path":45,"stem":46},"Google Tag Manager","\u002Ffr\u002Ffeatures\u002Fgtm-integration","fr\u002F2.features\u002F6.gtm-integration",{"title":48,"path":49,"stem":50,"children":51,"page":17},"Api","\u002Ffr\u002Fapi","fr\u002F3.api",[52,56],{"title":53,"path":54,"stem":55},"Référence API","\u002Ffr\u002Fapi\u002Freference","fr\u002F3.api\u002F1.reference",{"title":57,"path":58,"stem":59},"Référence des Événements","\u002Ffr\u002Fapi\u002Fevents-reference","fr\u002F3.api\u002F2.events-reference",{"title":61,"path":62,"stem":63,"children":64,"page":17},"Privacy","\u002Ffr\u002Fprivacy","fr\u002F4.privacy",[65],{"title":66,"path":67,"stem":68},"Collecte de Données & Vie Privée","\u002Ffr\u002Fprivacy\u002Fdata-collection","fr\u002F4.privacy\u002F1.data-collection",{"title":70,"path":71,"stem":72,"children":73,"page":17},"Chat SDK","\u002Ffr\u002Fchat-sdk","fr\u002F5.chat-sdk",[74,78,82,86,90,94,98],{"title":75,"path":76,"stem":77},"Chat SDK - Démarrage","\u002Ffr\u002Fchat-sdk\u002Fgetting-started","fr\u002F5.chat-sdk\u002F1.getting-started",{"title":79,"path":80,"stem":81},"Intégration Vue hors chat","\u002Ffr\u002Fchat-sdk\u002Fvue-non-chat","fr\u002F5.chat-sdk\u002F2.vue-non-chat",{"title":83,"path":84,"stem":85},"Intégration React","\u002Ffr\u002Fchat-sdk\u002Freact-integration","fr\u002F5.chat-sdk\u002F3.react-integration",{"title":87,"path":88,"stem":89},"Middleware AI SDK","\u002Ffr\u002Fchat-sdk\u002Fai-sdk-middleware","fr\u002F5.chat-sdk\u002F4.ai-sdk-middleware",{"title":91,"path":92,"stem":93},"Formats d'annonces","\u002Ffr\u002Fchat-sdk\u002Fad-formats","fr\u002F5.chat-sdk\u002F5.ad-formats",{"title":95,"path":96,"stem":97},"Tracking et attribution","\u002Ffr\u002Fchat-sdk\u002Ftracking-and-attribution","fr\u002F5.chat-sdk\u002F6.tracking-and-attribution",{"title":99,"path":100,"stem":101},"Dépannage","\u002Ffr\u002Fchat-sdk\u002Ftroubleshooting","fr\u002F5.chat-sdk\u002F7.troubleshooting",{"title":103,"path":104,"stem":105,"children":106,"page":17},"API annonceurs","\u002Ffr\u002Fadvertiser-api","fr\u002F6.advertiser-api",[107,111,115,119,123],{"title":108,"path":109,"stem":110},"Vue d'ensemble","\u002Ffr\u002Fadvertiser-api\u002Foverview","fr\u002F6.advertiser-api\u002F1.overview",{"title":112,"path":113,"stem":114},"Lecture","\u002Ffr\u002Fadvertiser-api\u002Fread","fr\u002F6.advertiser-api\u002F2.read",{"title":116,"path":117,"stem":118},"Écriture","\u002Ffr\u002Fadvertiser-api\u002Fwrite","fr\u002F6.advertiser-api\u002F3.write",{"title":120,"path":121,"stem":122},"API conversions","\u002Ffr\u002Fadvertiser-api\u002Fconversions","fr\u002F6.advertiser-api\u002F4.conversions",{"title":124,"path":125,"stem":126},"Serveur MCP","\u002Ffr\u002Fadvertiser-api\u002Fmcp","fr\u002F6.advertiser-api\u002F5.mcp",{"title":128,"path":129,"stem":130},"Commencer ici","\u002Ffr\u002Fstart-here","fr\u002Fstart-here",{"id":132,"title":116,"body":133,"description":1591,"extension":1592,"links":1593,"meta":1594,"navigation":1595,"path":117,"seo":1596,"stem":118,"__hash__":1597},"docs_fr\u002Ffr\u002F6.advertiser-api\u002F3.write.md",{"type":134,"value":135,"toc":1581},"minimark",[136,140,160,170,187,196,201,236,246,304,338,497,506,509,629,662,667,671,677,735,780,785,830,836,840,871,991,1017,1021,1057,1160,1176,1181,1197,1200,1209,1219,1276,1280,1286,1356,1381,1385,1391,1403,1422,1427,1430,1500,1567,1577],[137,138,116],"h1",{"id":139},"écriture",[141,142,143,147,148,151,152,155,156,159],"p",{},[144,145,146],"code",{},"POST"," et ",[144,149,150],{},"PATCH"," exigent le droit ",[144,153,154],{},"write",". Les montants sont en centimes d'euro. Envoyez ",[144,157,158],{},"Content-Type: application\u002Fjson",".",[161,162,168],"pre",{"className":163,"code":165,"language":166,"meta":167},[164],"language-text","https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\n","text","",[144,169,165],{"__ignoreMap":167},[141,171,172,174,175,178,179,183,184,159],{},[144,173,146],{}," accepte ",[144,176,177],{},"Idempotency-Key",". Voir ",[180,181,108],"a",{"href":182},"\u002Fadvertiser-api\u002Foverview",". Pause et reprise n'acceptent pas de corps JSON. Un corps non vide sur ces routes renvoie ",[144,185,186],{},"400",[141,188,189,192,193,159],{},[144,190,191],{},"\u002Fcreatives"," est la même ressource que ",[144,194,195],{},"\u002Fads",[197,198,200],"h2",{"id":199},"créer-une-campagne","Créer une campagne",[141,202,203,206,207,210,211,214,215,218,219,222,223,218,226,222,229,218,232,235],{},[144,204,205],{},"POST \u002Fcampaigns"," crée la campagne et son ensemble d'annonces dans cette organisation, avec ",[144,208,209],{},"created_via"," à ",[144,212,213],{},"api",". ",[144,216,217],{},"status"," vaut ",[144,220,221],{},"draft"," par défaut. ",[144,224,225],{},"objective",[144,227,228],{},"traffic",[144,230,231],{},"budget_type",[144,233,234],{},"daily"," par défaut.",[141,237,238,241,242,245],{},[144,239,240],{},"name"," (1 à 120 caractères) et ",[144,243,244],{},"budget_cents"," sont obligatoires.",[247,248,249,265],"table",{},[250,251,252],"thead",{},[253,254,255,259,262],"tr",{},[256,257,258],"th",{},"Objectif",[256,260,261],{},"Facturation",[256,263,264],{},"Enchère",[266,267,268,285],"tbody",{},[253,269,270,276,279],{},[271,272,273],"td",{},[144,274,275],{},"awareness",[271,277,278],{},"CPM",[271,280,281,284],{},[144,282,283],{},"cpm_bid_cents",", 10 € à 100 € pour 1 000 impressions",[253,286,287,295,298],{},[271,288,289,291,292],{},[144,290,228],{},", ",[144,293,294],{},"conversion",[271,296,297],{},"CPC",[271,299,300,303],{},[144,301,302],{},"cpc_bid_cents",", 0,50 € à 10 € par clic",[141,305,306,309,310,210,313,316,317,210,320,323,324,327,328,218,330,333,334,337],{},[144,307,308],{},"bid_cents"," est un alias de l'enchère du modèle de facturation. Le budget quotidien va de 10 € à 1 000 € (",[144,311,312],{},"1000",[144,314,315],{},"100000"," centimes). Le budget à vie va de 50 € à 10 000 € (",[144,318,319],{},"5000",[144,321,322],{},"1000000"," centimes). ",[144,325,326],{},"daily_budget_cents"," est un plafond quotidien optionnel quand ",[144,329,231],{},[144,331,332],{},"lifetime"," (10 € à 1 000 €), ou ",[144,335,336],{},"null"," pour l'effacer.",[161,339,343],{"className":340,"code":341,"language":342,"meta":167,"style":167},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -H 'Idempotency-Key: campaign-2026-11-04' \\\n  -d '{\n    \"name\": \"Spring launch\",\n    \"objective\": \"traffic\",\n    \"budget_type\": \"daily\",\n    \"budget_cents\": 2000,\n    \"cpc_bid_cents\": 100,\n    \"targeting\": {\n      \"placements\": [\"inline\", \"chat_sponsored_recommendation\"],\n      \"countries\": [\"FR\", \"DE\"],\n      \"tech_stack\": { \"include\": [\"react\"], \"exclude\": [\"vue\"] }\n    }\n  }'\n","bash",[144,344,345,375,390,403,417,428,434,440,446,452,458,464,470,476,482,488],{"__ignoreMap":167},[346,347,350,354,358,361,365,368,371],"span",{"class":348,"line":349},"line",1,[346,351,353],{"class":352},"sBMFI","curl",[346,355,357],{"class":356},"sfazB"," -X",[346,359,360],{"class":356}," POST",[346,362,364],{"class":363},"sMK4o"," '",[346,366,367],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns",[346,369,370],{"class":363},"'",[346,372,374],{"class":373},"sTEyZ"," \\\n",[346,376,378,381,383,386,388],{"class":348,"line":377},2,[346,379,380],{"class":356},"  -H",[346,382,364],{"class":363},[346,384,385],{"class":356},"Authorization: Bearer idl_adv_xxx",[346,387,370],{"class":363},[346,389,374],{"class":373},[346,391,393,395,397,399,401],{"class":348,"line":392},3,[346,394,380],{"class":356},[346,396,364],{"class":363},[346,398,158],{"class":356},[346,400,370],{"class":363},[346,402,374],{"class":373},[346,404,406,408,410,413,415],{"class":348,"line":405},4,[346,407,380],{"class":356},[346,409,364],{"class":363},[346,411,412],{"class":356},"Idempotency-Key: campaign-2026-11-04",[346,414,370],{"class":363},[346,416,374],{"class":373},[346,418,420,423,425],{"class":348,"line":419},5,[346,421,422],{"class":356},"  -d",[346,424,364],{"class":363},[346,426,427],{"class":356},"{\n",[346,429,431],{"class":348,"line":430},6,[346,432,433],{"class":356},"    \"name\": \"Spring launch\",\n",[346,435,437],{"class":348,"line":436},7,[346,438,439],{"class":356},"    \"objective\": \"traffic\",\n",[346,441,443],{"class":348,"line":442},8,[346,444,445],{"class":356},"    \"budget_type\": \"daily\",\n",[346,447,449],{"class":348,"line":448},9,[346,450,451],{"class":356},"    \"budget_cents\": 2000,\n",[346,453,455],{"class":348,"line":454},10,[346,456,457],{"class":356},"    \"cpc_bid_cents\": 100,\n",[346,459,461],{"class":348,"line":460},11,[346,462,463],{"class":356},"    \"targeting\": {\n",[346,465,467],{"class":348,"line":466},12,[346,468,469],{"class":356},"      \"placements\": [\"inline\", \"chat_sponsored_recommendation\"],\n",[346,471,473],{"class":348,"line":472},13,[346,474,475],{"class":356},"      \"countries\": [\"FR\", \"DE\"],\n",[346,477,479],{"class":348,"line":478},14,[346,480,481],{"class":356},"      \"tech_stack\": { \"include\": [\"react\"], \"exclude\": [\"vue\"] }\n",[346,483,485],{"class":348,"line":484},15,[346,486,487],{"class":356},"    }\n",[346,489,491,494],{"class":348,"line":490},16,[346,492,493],{"class":356},"  }",[346,495,496],{"class":363},"'\n",[141,498,499,500,147,503,159],{},"Une création réussie renvoie ",[144,501,502],{},"201",[144,504,505],{},"{ \"data\": { ...campaign } }",[141,507,508],{},"Autres champs d'écriture :",[247,510,511,521],{},[250,512,513],{},[253,514,515,518],{},[256,516,517],{},"Champ",[256,519,520],{},"Règle",[266,522,523,543,564,576,586,596,612],{},[253,524,525,529],{},[271,526,527],{},[144,528,217],{},[271,530,531,291,533,536,537,214,540,542],{},[144,532,221],{},[144,534,535],{},"active"," ou ",[144,538,539],{},"paused",[144,541,535],{}," est refusé pour la première campagne API",[253,544,545,553],{},[271,546,547,291,550],{},[144,548,549],{},"start_date",[144,551,552],{},"end_date",[271,554,555,556,558,559,561,562],{},"ISO-8601, ou ",[144,557,336],{}," pour effacer. ",[144,560,552],{}," doit être le même jour ou après ",[144,563,549],{},[253,565,566,571],{},[271,567,568],{},[144,569,570],{},"conversion_event",[271,572,573,574],{},"Chaîne de 80 caractères au plus, ou ",[144,575,336],{},[253,577,578,583],{},[271,579,580],{},[144,581,582],{},"conversion_window_days",[271,584,585],{},"Entier, 1 à 90",[253,587,588,593],{},[271,589,590],{},[144,591,592],{},"targeting.placements",[271,594,595],{},"Au moins un des emplacements ci-dessous",[253,597,598,603],{},[271,599,600],{},[144,601,602],{},"targeting.countries",[271,604,605,606,536,609,611],{},"Codes pays ISO. ",[144,607,608],{},"[]",[144,610,336],{}," signifie monde entier",[253,613,614,619],{},[271,615,616],{},[144,617,618],{},"targeting.tech_stack",[271,620,621,622,147,625,628],{},"Listes ",[144,623,624],{},"include",[144,626,627],{},"exclude",". Une technologie ne peut pas être dans les deux",[141,630,631,632,291,635,291,638,291,641,291,644,291,647,291,650,291,653,291,656,291,659,159],{},"Emplacements : ",[144,633,634],{},"browser_overlay",[144,636,637],{},"browser_toast",[144,639,640],{},"chat_sponsored_recommendation",[144,642,643],{},"chat_cta_card",[144,645,646],{},"chat_contextual_link",[144,648,649],{},"chat_sponsored_answer",[144,651,652],{},"inline",[144,654,655],{},"toast",[144,657,658],{},"sidebar",[144,660,661],{},"popup",[141,663,664,665,159],{},"Un champ JSON inconnu renvoie ",[144,666,186],{},[197,668,670],{"id":669},"modifier-mettre-en-pause-relancer","Modifier, mettre en pause, relancer",[141,672,673,676],{},[144,674,675],{},"PATCH \u002Fcampaigns\u002F{id}"," ne change que les champs envoyés. Le ciblage, l'enchère et le budget mettent à jour le premier ensemble d'annonces de la campagne.",[161,678,680],{"className":340,"code":679,"language":342,"meta":167,"style":167},"curl -X PATCH 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{ \"cpc_bid_cents\": 150 }'\n",[144,681,682,700,712,724],{"__ignoreMap":167},[346,683,684,686,688,691,693,696,698],{"class":348,"line":349},[346,685,353],{"class":352},[346,687,357],{"class":356},[346,689,690],{"class":356}," PATCH",[346,692,364],{"class":363},[346,694,695],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID",[346,697,370],{"class":363},[346,699,374],{"class":373},[346,701,702,704,706,708,710],{"class":348,"line":377},[346,703,380],{"class":356},[346,705,364],{"class":363},[346,707,385],{"class":356},[346,709,370],{"class":363},[346,711,374],{"class":373},[346,713,714,716,718,720,722],{"class":348,"line":392},[346,715,380],{"class":356},[346,717,364],{"class":363},[346,719,158],{"class":356},[346,721,370],{"class":363},[346,723,374],{"class":373},[346,725,726,728,730,733],{"class":348,"line":405},[346,727,422],{"class":356},[346,729,364],{"class":363},[346,731,732],{"class":356},"{ \"cpc_bid_cents\": 150 }",[346,734,496],{"class":363},[161,736,738],{"className":340,"code":737,"language":342,"meta":167,"style":167},"curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID\u002Fpause' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Idempotency-Key: pause-campaign-1'\n",[144,739,740,757,769],{"__ignoreMap":167},[346,741,742,744,746,748,750,753,755],{"class":348,"line":349},[346,743,353],{"class":352},[346,745,357],{"class":356},[346,747,360],{"class":356},[346,749,364],{"class":363},[346,751,752],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID\u002Fpause",[346,754,370],{"class":363},[346,756,374],{"class":373},[346,758,759,761,763,765,767],{"class":348,"line":377},[346,760,380],{"class":356},[346,762,364],{"class":363},[346,764,385],{"class":356},[346,766,370],{"class":363},[346,768,374],{"class":373},[346,770,771,773,775,778],{"class":348,"line":392},[346,772,380],{"class":356},[346,774,364],{"class":363},[346,776,777],{"class":356},"Idempotency-Key: pause-campaign-1",[346,779,496],{"class":363},[141,781,782,783,159],{},"La pause passe la campagne et ses ensembles d'annonces à ",[144,784,539],{},[161,786,788],{"className":340,"code":787,"language":342,"meta":167,"style":167},"curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID\u002Fresume' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Idempotency-Key: resume-campaign-1'\n",[144,789,790,807,819],{"__ignoreMap":167},[346,791,792,794,796,798,800,803,805],{"class":348,"line":349},[346,793,353],{"class":352},[346,795,357],{"class":356},[346,797,360],{"class":356},[346,799,364],{"class":363},[346,801,802],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fcampaigns\u002FCAMPAIGN_UUID\u002Fresume",[346,804,370],{"class":363},[346,806,374],{"class":373},[346,808,809,811,813,815,817],{"class":348,"line":377},[346,810,380],{"class":356},[346,812,364],{"class":363},[346,814,385],{"class":356},[346,816,370],{"class":363},[346,818,374],{"class":373},[346,820,821,823,825,828],{"class":348,"line":392},[346,822,380],{"class":356},[346,824,364],{"class":363},[346,826,827],{"class":356},"Idempotency-Key: resume-campaign-1",[346,829,496],{"class":363},[141,831,832,833,835],{},"La reprise passe la campagne et ses ensembles d'annonces à ",[144,834,535],{}," quand le portefeuille a un solde et qu'au moins une annonce est approuvée.",[197,837,839],{"id":838},"première-campagne","Première campagne",[141,841,842,843,218,845,847,848,850,851,854,855,857,858,210,860,862,863,866,867,870],{},"La première campagne de l'organisation ne peut pas être activée depuis cette API si elle a été créée par l'API (",[144,844,209],{},[144,846,213],{},"). ",[144,849,205],{}," avec ",[144,852,853],{},"\"status\": \"active\"",", un ",[144,856,150],{}," qui met ",[144,859,217],{},[144,861,535],{},", et ",[144,864,865],{},"POST \u002Fcampaigns\u002F{id}\u002Fresume"," renvoient ",[144,868,869],{},"409",". La campagne reste un brouillon.",[161,872,876],{"className":873,"code":874,"language":875,"meta":167,"style":167},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"error\": {\n    \"code\": \"first_campaign_requires_dashboard_validation\",\n    \"message\": \"This organization's first campaign was created through the API. Activate it in the adsmanager before the API can turn a campaign on.\",\n    \"campaign_id\": \"CAMPAIGN_UUID\",\n    \"dashboard_url\": \"https:\u002F\u002Fadsmanager.idlen.io\u002Fcampaigns\u002FCAMPAIGN_UUID\"\n  }\n}\n","json",[144,877,878,882,900,922,942,962,981,986],{"__ignoreMap":167},[346,879,880],{"class":348,"line":349},[346,881,427],{"class":363},[346,883,884,887,891,894,897],{"class":348,"line":377},[346,885,886],{"class":363},"  \"",[346,888,890],{"class":889},"spNyl","error",[346,892,893],{"class":363},"\"",[346,895,896],{"class":363},":",[346,898,899],{"class":363}," {\n",[346,901,902,905,907,909,911,914,917,919],{"class":348,"line":392},[346,903,904],{"class":363},"    \"",[346,906,144],{"class":352},[346,908,893],{"class":363},[346,910,896],{"class":363},[346,912,913],{"class":363}," \"",[346,915,916],{"class":356},"first_campaign_requires_dashboard_validation",[346,918,893],{"class":363},[346,920,921],{"class":363},",\n",[346,923,924,926,929,931,933,935,938,940],{"class":348,"line":405},[346,925,904],{"class":363},[346,927,928],{"class":352},"message",[346,930,893],{"class":363},[346,932,896],{"class":363},[346,934,913],{"class":363},[346,936,937],{"class":356},"This organization's first campaign was created through the API. Activate it in the adsmanager before the API can turn a campaign on.",[346,939,893],{"class":363},[346,941,921],{"class":363},[346,943,944,946,949,951,953,955,958,960],{"class":348,"line":419},[346,945,904],{"class":363},[346,947,948],{"class":352},"campaign_id",[346,950,893],{"class":363},[346,952,896],{"class":363},[346,954,913],{"class":363},[346,956,957],{"class":356},"CAMPAIGN_UUID",[346,959,893],{"class":363},[346,961,921],{"class":363},[346,963,964,966,969,971,973,975,978],{"class":348,"line":430},[346,965,904],{"class":363},[346,967,968],{"class":352},"dashboard_url",[346,970,893],{"class":363},[346,972,896],{"class":363},[346,974,913],{"class":363},[346,976,977],{"class":356},"https:\u002F\u002Fadsmanager.idlen.io\u002Fcampaigns\u002FCAMPAIGN_UUID",[346,979,980],{"class":363},"\"\n",[346,982,983],{"class":348,"line":436},[346,984,985],{"class":363},"  }\n",[346,987,988],{"class":348,"line":442},[346,989,990],{"class":363},"}\n",[141,992,993,994,996,997,999,1000,147,1002,218,1005,291,1008,291,1011,536,1014,159],{},"Ouvrez ",[144,995,968],{}," et activez cette campagne dans Ads Manager. Une campagne suivante n'est pas bloquée par cette règle. Elle ne peut passer ",[144,998,535],{}," que si le portefeuille a des fonds et qu'au moins une annonce est approuvée. Sinon le statut est ",[144,1001,869],{},[144,1003,1004],{},"error.code",[144,1006,1007],{},"insufficient_balance",[144,1009,1010],{},"ads_pending_moderation",[144,1012,1013],{},"ad_required",[144,1015,1016],{},"no_active_ad_set",[197,1018,1020],{"id":1019},"créer-une-annonce","Créer une annonce",[141,1022,1023,1026,1027,1029,1030,1033,1034,1037,1038,847,1041,1044,1045,1048,1049,1052,1053,536,1055,159],{},[144,1024,1025],{},"POST \u002Fads"," exige ",[144,1028,948],{}," (UUID dans cette organisation), ",[144,1031,1032],{},"title"," (1 à 60 caractères) et ",[144,1035,1036],{},"cta_url"," (une URL ",[144,1039,1040],{},"https:\u002F\u002F",[144,1042,1043],{},"body"," est vide par défaut et fait 150 caractères au plus. ",[144,1046,1047],{},"cta_text"," fait 1 à 40 caractères. ",[144,1050,1051],{},"image_url"," est une URL ",[144,1054,1040],{},[144,1056,336],{},[161,1058,1060],{"className":340,"code":1059,"language":342,"meta":167,"style":167},"curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -H 'Idempotency-Key: ad-2026-11-04' \\\n  -d '{\n    \"campaign_id\": \"CAMPAIGN_UUID\",\n    \"title\": \"Ship the integration\",\n    \"body\": \"Native ads in your AI product.\",\n    \"cta_text\": \"Get started\",\n    \"cta_url\": \"https:\u002F\u002Fexample.com\u002Fsignup\",\n    \"format\": \"inline\"\n  }'\n",[144,1061,1062,1079,1091,1103,1116,1124,1129,1134,1139,1144,1149,1154],{"__ignoreMap":167},[346,1063,1064,1066,1068,1070,1072,1075,1077],{"class":348,"line":349},[346,1065,353],{"class":352},[346,1067,357],{"class":356},[346,1069,360],{"class":356},[346,1071,364],{"class":363},[346,1073,1074],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads",[346,1076,370],{"class":363},[346,1078,374],{"class":373},[346,1080,1081,1083,1085,1087,1089],{"class":348,"line":377},[346,1082,380],{"class":356},[346,1084,364],{"class":363},[346,1086,385],{"class":356},[346,1088,370],{"class":363},[346,1090,374],{"class":373},[346,1092,1093,1095,1097,1099,1101],{"class":348,"line":392},[346,1094,380],{"class":356},[346,1096,364],{"class":363},[346,1098,158],{"class":356},[346,1100,370],{"class":363},[346,1102,374],{"class":373},[346,1104,1105,1107,1109,1112,1114],{"class":348,"line":405},[346,1106,380],{"class":356},[346,1108,364],{"class":363},[346,1110,1111],{"class":356},"Idempotency-Key: ad-2026-11-04",[346,1113,370],{"class":363},[346,1115,374],{"class":373},[346,1117,1118,1120,1122],{"class":348,"line":419},[346,1119,422],{"class":356},[346,1121,364],{"class":363},[346,1123,427],{"class":356},[346,1125,1126],{"class":348,"line":430},[346,1127,1128],{"class":356},"    \"campaign_id\": \"CAMPAIGN_UUID\",\n",[346,1130,1131],{"class":348,"line":436},[346,1132,1133],{"class":356},"    \"title\": \"Ship the integration\",\n",[346,1135,1136],{"class":348,"line":442},[346,1137,1138],{"class":356},"    \"body\": \"Native ads in your AI product.\",\n",[346,1140,1141],{"class":348,"line":448},[346,1142,1143],{"class":356},"    \"cta_text\": \"Get started\",\n",[346,1145,1146],{"class":348,"line":454},[346,1147,1148],{"class":356},"    \"cta_url\": \"https:\u002F\u002Fexample.com\u002Fsignup\",\n",[346,1150,1151],{"class":348,"line":460},[346,1152,1153],{"class":356},"    \"format\": \"inline\"\n",[346,1155,1156,1158],{"class":348,"line":466},[346,1157,493],{"class":356},[346,1159,496],{"class":363},[141,1161,1162,1163,147,1165,214,1168,1171,1172,1175],{},"La réponse est ",[144,1164,502],{},[144,1166,1167],{},"{ \"data\": { ...ad } }",[144,1169,1170],{},"format"," et chaque entrée de ",[144,1173,1174],{},"formats"," doivent être un des emplacements listés plus haut.",[1177,1178,1180],"h3",{"id":1179},"modération","Modération",[141,1182,1183,1184,1187,1188,147,1190,1187,1193,1196],{},"Une nouvelle annonce est insérée avec la modération. Pour un appelant non staff, ",[144,1185,1186],{},"is_approved"," reste ",[144,1189,336],{},[144,1191,1192],{},"is_active",[144,1194,1195],{},"false"," tant qu'une personne ne l'a pas approuvée. Elle n'est pas diffusée avant.",[141,1198,1199],{},"La règle site-creative peut auto-approuver à l'insertion quand le titre, le texte, le bouton, le lien et l'image correspondent à une création récente générée par le serveur, que l'image a été copiée par l'extracteur, et que le domaine du lien correspond au site de l'organisation.",[141,1201,1202,1203,1205,1206,1208],{},"Changer le titre, le texte, le bouton, le lien, l'image, la vidéo ou le type de média remet l'annonce en attente (",[144,1204,1186],{}," null, ",[144,1207,1192],{}," false) jusqu'à une nouvelle approbation.",[141,1210,1211,1214,1215,1218],{},[144,1212,1213],{},"PATCH \u002Fads\u002F{id}"," (et ",[144,1216,1217],{},"PATCH \u002Fcreatives\u002F{id}",") ne change que les champs envoyés.",[161,1220,1222],{"className":340,"code":1221,"language":342,"meta":167,"style":167},"curl -X PATCH 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads\u002FAD_UUID' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -d '{ \"title\": \"Updated headline\" }'\n",[144,1223,1224,1241,1253,1265],{"__ignoreMap":167},[346,1225,1226,1228,1230,1232,1234,1237,1239],{"class":348,"line":349},[346,1227,353],{"class":352},[346,1229,357],{"class":356},[346,1231,690],{"class":356},[346,1233,364],{"class":363},[346,1235,1236],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads\u002FAD_UUID",[346,1238,370],{"class":363},[346,1240,374],{"class":373},[346,1242,1243,1245,1247,1249,1251],{"class":348,"line":377},[346,1244,380],{"class":356},[346,1246,364],{"class":363},[346,1248,385],{"class":356},[346,1250,370],{"class":363},[346,1252,374],{"class":373},[346,1254,1255,1257,1259,1261,1263],{"class":348,"line":392},[346,1256,380],{"class":356},[346,1258,364],{"class":363},[346,1260,158],{"class":356},[346,1262,370],{"class":363},[346,1264,374],{"class":373},[346,1266,1267,1269,1271,1274],{"class":348,"line":405},[346,1268,422],{"class":356},[346,1270,364],{"class":363},[346,1272,1273],{"class":356},"{ \"title\": \"Updated headline\" }",[346,1275,496],{"class":363},[197,1277,1279],{"id":1278},"annonce-depuis-une-url","Annonce depuis une URL",[141,1281,1282,1285],{},[144,1283,1284],{},"POST \u002Fads\u002Ffrom-url"," utilise le même extracteur de page que Ads Manager, enregistre la preuve, puis crée l'annonce. La modération s'applique toujours. Cet appel partage la limite de 10 requêtes par organisation et par heure.",[161,1287,1289],{"className":340,"code":1288,"language":342,"meta":167,"style":167},"curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads\u002Ffrom-url' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -H 'Idempotency-Key: ad-from-url-1' \\\n  -d '{ \"campaign_id\": \"CAMPAIGN_UUID\", \"url\": \"https:\u002F\u002Fexample.com\" }'\n",[144,1290,1291,1308,1320,1332,1345],{"__ignoreMap":167},[346,1292,1293,1295,1297,1299,1301,1304,1306],{"class":348,"line":349},[346,1294,353],{"class":352},[346,1296,357],{"class":356},[346,1298,360],{"class":356},[346,1300,364],{"class":363},[346,1302,1303],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fads\u002Ffrom-url",[346,1305,370],{"class":363},[346,1307,374],{"class":373},[346,1309,1310,1312,1314,1316,1318],{"class":348,"line":377},[346,1311,380],{"class":356},[346,1313,364],{"class":363},[346,1315,385],{"class":356},[346,1317,370],{"class":363},[346,1319,374],{"class":373},[346,1321,1322,1324,1326,1328,1330],{"class":348,"line":392},[346,1323,380],{"class":356},[346,1325,364],{"class":363},[346,1327,158],{"class":356},[346,1329,370],{"class":363},[346,1331,374],{"class":373},[346,1333,1334,1336,1338,1341,1343],{"class":348,"line":405},[346,1335,380],{"class":356},[346,1337,364],{"class":363},[346,1339,1340],{"class":356},"Idempotency-Key: ad-from-url-1",[346,1342,370],{"class":363},[346,1344,374],{"class":373},[346,1346,1347,1349,1351,1354],{"class":348,"line":419},[346,1348,422],{"class":356},[346,1350,364],{"class":363},[346,1352,1353],{"class":356},"{ \"campaign_id\": \"CAMPAIGN_UUID\", \"url\": \"https:\u002F\u002Fexample.com\" }",[346,1355,496],{"class":363},[141,1357,1358,147,1360,1363,1364,1366,1367,1370,1371,850,1374,214,1377,1380],{},[144,1359,948],{},[144,1361,1362],{},"url"," sont obligatoires. ",[144,1365,1362],{}," fait 2048 caractères au plus. Une page illisible renvoie ",[144,1368,1369],{},"422",". Au-delà de la limite horaire, la réponse est ",[144,1372,1373],{},"429",[144,1375,1376],{},"rate_limited",[144,1378,1379],{},"POST \u002Fcreatives\u002Ffrom-url"," est le même appel.",[197,1382,1384],{"id":1383},"checkout-de-dépôt","Checkout de dépôt",[141,1386,1387,1390],{},[144,1388,1389],{},"POST \u002Fwallet\u002Fcheckout"," renvoie une URL Stripe Checkout. Il ne débite pas une carte. Le webhook crédite le portefeuille après le paiement. La devise de la session est EUR, comme le portefeuille. Cette réponse n'a pas de champ devise.",[141,1392,1393,1396,1397,1399,1400,1402],{},[144,1394,1395],{},"amount_cents"," est obligatoire, de ",[144,1398,312],{}," (10 €) à ",[144,1401,322],{}," (10 000 €), hors taxe.",[141,1404,1405,147,1408,1411,1412,291,1415,536,1418,1421],{},[144,1406,1407],{},"success_url",[144,1409,1410],{},"cancel_url"," doivent être sur ",[144,1413,1414],{},"https:\u002F\u002Fadsmanager.idlen.io",[144,1416,1417],{},"https:\u002F\u002Fads.idlen.io",[144,1419,1420],{},"http:\u002F\u002Flocalhost:3002",". Toute autre valeur est remplacée par la page de facturation.",[141,1423,1424,1426],{},[144,1425,948],{}," est optionnel. Si cette campagne est un brouillon non archivé de cette organisation, le dépôt lui est rattaché.",[141,1428,1429],{},"La prime de premier dépôt est la même règle que la page de facturation. Le match par défaut est 50 € une fois : payez au moins 50 € hors taxe et la prime est 50 € de crédit. Le webhook décide la prime à partir du montant payé, hors taxe et après un éventuel code promo.",[161,1431,1433],{"className":340,"code":1432,"language":342,"meta":167,"style":167},"curl -X POST 'https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fwallet\u002Fcheckout' \\\n  -H 'Authorization: Bearer idl_adv_xxx' \\\n  -H 'Content-Type: application\u002Fjson' \\\n  -H 'Idempotency-Key: deposit-5000' \\\n  -d '{ \"amount_cents\": 5000 }'\n",[144,1434,1435,1452,1464,1476,1489],{"__ignoreMap":167},[346,1436,1437,1439,1441,1443,1445,1448,1450],{"class":348,"line":349},[346,1438,353],{"class":352},[346,1440,357],{"class":356},[346,1442,360],{"class":356},[346,1444,364],{"class":363},[346,1446,1447],{"class":356},"https:\u002F\u002Ftyfrhxfejrawgdlhryfu.supabase.co\u002Ffunctions\u002Fv1\u002Fadvertiser-api\u002Fwallet\u002Fcheckout",[346,1449,370],{"class":363},[346,1451,374],{"class":373},[346,1453,1454,1456,1458,1460,1462],{"class":348,"line":377},[346,1455,380],{"class":356},[346,1457,364],{"class":363},[346,1459,385],{"class":356},[346,1461,370],{"class":363},[346,1463,374],{"class":373},[346,1465,1466,1468,1470,1472,1474],{"class":348,"line":392},[346,1467,380],{"class":356},[346,1469,364],{"class":363},[346,1471,158],{"class":356},[346,1473,370],{"class":363},[346,1475,374],{"class":373},[346,1477,1478,1480,1482,1485,1487],{"class":348,"line":405},[346,1479,380],{"class":356},[346,1481,364],{"class":363},[346,1483,1484],{"class":356},"Idempotency-Key: deposit-5000",[346,1486,370],{"class":363},[346,1488,374],{"class":373},[346,1490,1491,1493,1495,1498],{"class":348,"line":419},[346,1492,422],{"class":356},[346,1494,364],{"class":363},[346,1496,1497],{"class":356},"{ \"amount_cents\": 5000 }",[346,1499,496],{"class":363},[161,1501,1503],{"className":873,"code":1502,"language":875,"meta":167,"style":167},"{\n  \"data\": {\n    \"url\": \"https:\u002F\u002Fcheckout.stripe.com\u002Fc\u002Fpay\u002Fcs_example\",\n    \"session_id\": \"cs_example\"\n  }\n}\n",[144,1504,1505,1509,1522,1541,1559,1563],{"__ignoreMap":167},[346,1506,1507],{"class":348,"line":349},[346,1508,427],{"class":363},[346,1510,1511,1513,1516,1518,1520],{"class":348,"line":377},[346,1512,886],{"class":363},[346,1514,1515],{"class":889},"data",[346,1517,893],{"class":363},[346,1519,896],{"class":363},[346,1521,899],{"class":363},[346,1523,1524,1526,1528,1530,1532,1534,1537,1539],{"class":348,"line":392},[346,1525,904],{"class":363},[346,1527,1362],{"class":352},[346,1529,893],{"class":363},[346,1531,896],{"class":363},[346,1533,913],{"class":363},[346,1535,1536],{"class":356},"https:\u002F\u002Fcheckout.stripe.com\u002Fc\u002Fpay\u002Fcs_example",[346,1538,893],{"class":363},[346,1540,921],{"class":363},[346,1542,1543,1545,1548,1550,1552,1554,1557],{"class":348,"line":405},[346,1544,904],{"class":363},[346,1546,1547],{"class":352},"session_id",[346,1549,893],{"class":363},[346,1551,896],{"class":363},[346,1553,913],{"class":363},[346,1555,1556],{"class":356},"cs_example",[346,1558,980],{"class":363},[346,1560,1561],{"class":348,"line":419},[346,1562,985],{"class":363},[346,1564,1565],{"class":348,"line":430},[346,1566,990],{"class":363},[141,1568,1569,1571,1572,1574,1575,159],{},[144,1570,1362],{}," peut valoir ",[144,1573,336],{}," si Stripe n'en renvoie pas. Une organisation sans propriétaire renvoie ",[144,1576,186],{},[1578,1579,1580],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":167,"searchDepth":377,"depth":377,"links":1582},[1583,1584,1585,1586,1589,1590],{"id":199,"depth":377,"text":200},{"id":669,"depth":377,"text":670},{"id":838,"depth":377,"text":839},{"id":1019,"depth":377,"text":1020,"children":1587},[1588],{"id":1179,"depth":392,"text":1180},{"id":1278,"depth":377,"text":1279},{"id":1383,"depth":377,"text":1384},"Créer et modifier des campagnes et des annonces, et ouvrir un lien Checkout de dépôt","md",null,{},true,{"title":116,"description":1591},"dtWBLQMtyKWRyk8Af7PVl55vsvuvIxpl3ck_6-XBNFw",[1599,1601],{"title":112,"path":113,"stem":114,"description":1600,"children":-1},"Lister les campagnes, les annonces, les stats quotidiennes, le portefeuille et les transactions",{"title":120,"path":121,"stem":122,"description":1602,"children":-1},"Enregistrer une conversion depuis votre serveur avec une clé API annonceur",1793804440449]