[{"data":1,"prerenderedAt":1001},["ShallowReactive",2],{"navigation_docs":3,"-embed-api-reference":37,"-embed-api-reference-surround":997},[4,21],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":20},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,15],{"title":11,"path":12,"stem":13,"icon":14},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction","i-lucide-house",{"title":16,"path":17,"stem":18,"icon":19},"Campaign Configuration","\u002Fgetting-started\u002Fcampaign-configuration","1.getting-started\u002F2.campaign-configuration","i-lucide-megaphone",false,{"title":22,"icon":23,"path":24,"stem":25,"children":26,"page":20},"Embed","i-lucide-code","\u002Fembed","2.embed",[27,32],{"title":28,"path":29,"stem":30,"icon":31},"Integration Guide","\u002Fembed\u002Fguide","2.embed\u002F1.guide","i-lucide-book-open",{"title":33,"path":34,"stem":35,"icon":36},"API Reference","\u002Fembed\u002Fapi-reference","2.embed\u002F2.api-reference","i-lucide-file-code",{"id":38,"title":33,"body":39,"description":989,"extension":990,"links":991,"meta":993,"navigation":994,"path":34,"seo":995,"stem":35,"__hash__":996},"docs\u002F2.embed\u002F2.api-reference.md",{"type":40,"value":41,"toc":979},"minimark",[42,50,54,57,94,97,103,109,220,222,227,230,414,416,421,424,519,524,527,558,576,583,589,592,897,899,903,911,914,921,975],[43,44,46],"h2",{"id":45},"activoiceinitconfig",[47,48,49],"code",{},"Activoice.init(config)",[51,52,53],"p",{},"Initializes one embed instance inside the target container.",[51,55,56],{},"If the container already contains an active embed (for example after a client-side navigation), it is destroyed and replaced with a fresh instance.",[58,59,64],"pre",{"className":60,"code":61,"language":62,"meta":63,"style":63},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","window.Activoice.init(config: ActivoiceEmbedConfig): void\n","ts","",[47,65,66],{"__ignoreMap":63},[67,68,71,75,79,82,84,88,91],"span",{"class":69,"line":70},"line",1,[67,72,74],{"class":73},"sTEyZ","window",[67,76,78],{"class":77},"sMK4o",".",[67,80,81],{"class":73},"Activoice",[67,83,78],{"class":77},[67,85,87],{"class":86},"s2Zo4","init",[67,89,90],{"class":73},"(config: ActivoiceEmbedConfig): ",[67,92,93],{"class":77},"void\n",[95,96],"hr",{},[43,98,100],{"id":99},"activoiceembedconfig",[47,101,102],{},"ActivoiceEmbedConfig",[51,104,105,106,78],{},"The root configuration object passed to ",[47,107,108],{},"Activoice.init()",[110,111,112,132],"table",{},[113,114,115],"thead",{},[116,117,118,122,125,129],"tr",{},[119,120,121],"th",{},"Property",[119,123,124],{},"Type",[119,126,128],{"align":127},"center","Required",[119,130,131],{},"Description",[133,134,135,162,178,200],"tbody",{},[116,136,137,143,148,151],{},[138,139,140],"td",{},[47,141,142],{},"container",[138,144,145],{},[47,146,147],{},"string",[138,149,150],{"align":127},"✓",[138,152,153,154,157,158,161],{},"CSS selector of the host element (e.g. ",[47,155,156],{},"'#av-embed-container'","). Must match exactly one element in the DOM at the time ",[47,159,160],{},"init()"," is called.",[116,163,164,169,173,175],{},[138,165,166],{},[47,167,168],{},"campaignId",[138,170,171],{},[47,172,147],{},[138,174,150],{"align":127},[138,176,177],{},"Slug or identifier of the campaign to embed. Visible in the backoffice URL and in the embed panel.",[116,179,180,185,194,197],{},[138,181,182],{},[47,183,184],{},"embedOptions",[138,186,187],{},[188,189,191],"a",{"href":190},"#embedoptions",[47,192,193],{},"EmbedOptions",[138,195,196],{"align":127},"—",[138,198,199],{},"Optional display and behavior settings.",[116,201,202,207,215,217],{},[138,203,204],{},[47,205,206],{},"campaignOverrides",[138,208,209],{},[188,210,212],{"href":211},"#campaignoverrides",[47,213,214],{},"CampaignOverrides",[138,216,196],{"align":127},[138,218,219],{},"Optional overrides applied on top of the campaign configuration defined in the backoffice.",[95,221],{},[43,223,225],{"id":224},"embedoptions",[47,226,193],{},[51,228,229],{},"All fields are optional. Omitting a field uses the default value.",[110,231,232,245],{},[113,233,234],{},[116,235,236,238,240,243],{},[119,237,121],{},[119,239,124],{},[119,241,242],{},"Default",[119,244,131],{},[133,246,247,270,297,328,348,366,384],{},[116,248,249,254,258,263],{},[138,250,251],{},[47,252,253],{},"spinnerColor",[138,255,256],{},[47,257,147],{},[138,259,260],{},[47,261,262],{},"'#fed13a'",[138,264,265,266,269],{},"CSS color of the loading spinner shown before the campaign is ready. Accepts any valid CSS color value (hex, ",[47,267,268],{},"rgb()",", named colors, etc.).",[116,271,272,277,282,287],{},[138,273,274],{},[47,275,276],{},"initialPage",[138,278,279],{},[47,280,281],{},"'steps' | 'landing'",[138,283,284],{},[47,285,286],{},"'steps'",[138,288,289,290,292,293,296],{},"Controls which page of the campaign is shown first. ",[47,291,286],{}," opens directly on the action flow. ",[47,294,295],{},"'landing'"," shows the campaign landing page.",[116,298,299,304,309,314],{},[138,300,301],{},[47,302,303],{},"displayMode",[138,305,306],{},[47,307,308],{},"'inline' | 'fullHeight'",[138,310,311],{},[47,312,313],{},"'inline'",[138,315,316,317,319,320,323,324,327],{},"Height management strategy. ",[47,318,313],{}," updates the iframe height in pixels each time the content resizes. ",[47,321,322],{},"'fullHeight'"," sets ",[47,325,326],{},"height: 100%"," so the iframe fills its container — useful in sidebars or fixed-height panels.",[116,329,330,335,340,345],{},[138,331,332],{},[47,333,334],{},"withToolbar",[138,336,337],{},[47,338,339],{},"boolean",[138,341,342],{},[47,343,344],{},"false",[138,346,347],{},"Renders the navigation toolbar inside the embed (back button, step indicator). Disabled by default for a seamless embedded look.",[116,349,350,355,359,363],{},[138,351,352],{},[47,353,354],{},"withBackground",[138,356,357],{},[47,358,339],{},[138,360,361],{},[47,362,344],{},[138,364,365],{},"Applies the campaign's background color to the iframe body. When disabled, the background is transparent so the host page shows through.",[116,367,368,373,377,381],{},[138,369,370],{},[47,371,372],{},"withPadding",[138,374,375],{},[47,376,339],{},[138,378,379],{},[47,380,344],{},[138,382,383],{},"Adds horizontal padding to the campaign content area.",[116,385,386,391,395,399],{},[138,387,388],{},[47,389,390],{},"bypassCampaignStateCheck",[138,392,393],{},[47,394,339],{},[138,396,397],{},[47,398,344],{},[138,400,401,402,405,406,409,410,413],{},"When ",[47,403,404],{},"true",", the campaign renders even if it is in ",[47,407,408],{},"draft"," or ",[47,411,412],{},"ended"," state. Intended for preview and testing purposes only — do not enable in production.",[95,415],{},[43,417,419],{"id":418},"campaignoverrides",[47,420,214],{},[51,422,423],{},"Overrides applied on top of the campaign configuration defined in the backoffice.",[58,425,427],{"className":60,"code":426,"language":62,"meta":63,"style":63},"interface CampaignOverrides {\n  recipients?: Recipient[]        \u002F\u002F Global recipient override for all interpellations\n  interpellations?: Array\u003C{\n    id: string                    \u002F\u002F UUID of the interpellation to override\n    recipients?: Recipient[]      \u002F\u002F Per-interpellation override (takes priority)\n  }>\n}\n",[47,428,429,442,462,476,491,507,513],{"__ignoreMap":63},[67,430,431,435,439],{"class":69,"line":70},[67,432,434],{"class":433},"spNyl","interface",[67,436,438],{"class":437},"sBMFI"," CampaignOverrides",[67,440,441],{"class":77}," {\n",[67,443,445,449,452,455,458],{"class":69,"line":444},2,[67,446,448],{"class":447},"swJcz","  recipients",[67,450,451],{"class":77},"?:",[67,453,454],{"class":437}," Recipient",[67,456,457],{"class":73},"[]        ",[67,459,461],{"class":460},"sHwdD","\u002F\u002F Global recipient override for all interpellations\n",[67,463,465,468,470,473],{"class":69,"line":464},3,[67,466,467],{"class":447},"  interpellations",[67,469,451],{"class":77},[67,471,472],{"class":437}," Array",[67,474,475],{"class":77},"\u003C{\n",[67,477,479,482,485,488],{"class":69,"line":478},4,[67,480,481],{"class":447},"    id",[67,483,484],{"class":77},":",[67,486,487],{"class":437}," string",[67,489,490],{"class":460},"                    \u002F\u002F UUID of the interpellation to override\n",[67,492,494,497,499,501,504],{"class":69,"line":493},5,[67,495,496],{"class":447},"    recipients",[67,498,451],{"class":77},[67,500,454],{"class":437},[67,502,503],{"class":73},"[]      ",[67,505,506],{"class":460},"\u002F\u002F Per-interpellation override (takes priority)\n",[67,508,510],{"class":69,"line":509},6,[67,511,512],{"class":77},"  }>\n",[67,514,516],{"class":69,"line":515},7,[67,517,518],{"class":77},"}\n",[520,521,523],"h3",{"id":522},"recipient-resolution-order","Recipient resolution order",[51,525,526],{},"Recipients are resolved per interpellation with the following priority:",[528,529,530,542,552],"ol",{},[531,532,533,537,538,541],"li",{},[534,535,536],"strong",{},"Per-interpellation override"," — ",[47,539,540],{},"interpellations[].recipients"," if provided for that entry",[531,543,544,547,548,551],{},[534,545,546],{},"Root-level override"," — top-level ",[47,549,550],{},"recipients"," applied to all interpellations that don't have their own override",[531,553,554,557],{},[534,555,556],{},"Backoffice configuration"," — original recipients preserved when no override applies",[559,560,401,561,564,565,568,569,572,573,575],"warning",{},[47,562,563],{},"interpellations"," is provided, ",[534,566,567],{},"only the listed interpellations are shown"," — any interpellation whose ",[47,570,571],{},"id"," is not included is hidden from the embed. Omit ",[47,574,563],{}," entirely to keep all interpellations visible.",[577,578,579,580,582],"note",{},"The root-level ",[47,581,550],{}," is a convenient shortcut when you want to set the same recipients across all interpellations without repeating them in each entry.",[520,584,586],{"id":585},"recipient",[47,587,588],{},"Recipient",[51,590,591],{},"All fields are optional.",[110,593,594,605],{},[113,595,596],{},[116,597,598,601,603],{},[119,599,600],{},"Field",[119,602,124],{},[119,604,131],{},[133,606,607,621,635,662,680,695,709,723,737,751,769,785,799,815,837,854,868,882],{},[116,608,609,614,618],{},[138,610,611],{},[47,612,613],{},"first_name",[138,615,616],{},[47,617,147],{},[138,619,620],{},"First name of the recipient.",[116,622,623,628,632],{},[138,624,625],{},[47,626,627],{},"last_name",[138,629,630],{},[47,631,147],{},[138,633,634],{},"Last name of the recipient.",[116,636,637,642,647],{},[138,638,639],{},[47,640,641],{},"gender",[138,643,644],{},[47,645,646],{},"'M' | 'F' | 'O'",[138,648,649,650,653,654,657,658,661],{},"Gender: ",[47,651,652],{},"M"," (male), ",[47,655,656],{},"F"," (female), ",[47,659,660],{},"O"," (other \u002F not specified). Used to personalize AI-generated messages.",[116,663,664,669,673],{},[138,665,666],{},[47,667,668],{},"display_title",[138,670,671],{},[47,672,147],{},[138,674,675,676,679],{},"Title or role displayed to the user (e.g. ",[47,677,678],{},"'Mayor of Lyon'",").",[116,681,682,687,692],{},[138,683,684],{},[47,685,686],{},"photo_url",[138,688,689],{},[47,690,691],{},"string | null",[138,693,694],{},"Absolute URL of the recipient's photo.",[116,696,697,702,706],{},[138,698,699],{},[47,700,701],{},"email",[138,703,704],{},[47,705,691],{},[138,707,708],{},"Email address (used for email interpellation modes).",[116,710,711,716,720],{},[138,712,713],{},[47,714,715],{},"phone_number",[138,717,718],{},[47,719,691],{},[138,721,722],{},"Phone number (used for call interpellation modes).",[116,724,725,730,734],{},[138,726,727],{},[47,728,729],{},"personal_link",[138,731,732],{},[47,733,691],{},[138,735,736],{},"Absolute URL to the recipient's personal or professional website.",[116,738,739,744,748],{},[138,740,741],{},[47,742,743],{},"facebook_page",[138,745,746],{},[47,747,147],{},[138,749,750],{},"Absolute URL of the recipient's Facebook page.",[116,752,753,758,762],{},[138,754,755],{},[47,756,757],{},"twitter_handle",[138,759,760],{},[47,761,147],{},[138,763,764,765,768],{},"Twitter\u002FX handle, without the ",[47,766,767],{},"@"," prefix.",[116,770,771,776,780],{},[138,772,773],{},[47,774,775],{},"instagram_handle",[138,777,778],{},[47,779,147],{},[138,781,782,783,768],{},"Instagram handle, without the ",[47,784,767],{},[116,786,787,792,796],{},[138,788,789],{},[47,790,791],{},"linkedin_page",[138,793,794],{},[47,795,147],{},[138,797,798],{},"Absolute URL of the recipient's LinkedIn profile.",[116,800,801,806,810],{},[138,802,803],{},[47,804,805],{},"tiktok_handle",[138,807,808],{},[47,809,147],{},[138,811,812,813,768],{},"TikTok handle, without the ",[47,814,767],{},[116,816,817,822,826],{},[138,818,819],{},[47,820,821],{},"geo_type",[138,823,824],{},[47,825,691],{},[138,827,828,829,832,833,836],{},"Type of geographic area (e.g. ",[47,830,831],{},"'municipality'",", ",[47,834,835],{},"'department'","). Used for geospatial targeting when supporters search by location.",[116,838,839,844,848],{},[138,840,841],{},[47,842,843],{},"geo_id",[138,845,846],{},[47,847,691],{},[138,849,850,851,853],{},"Identifier of the geographic area, matching the ",[47,852,821],{}," taxonomy.",[116,855,856,861,865],{},[138,857,858],{},[47,859,860],{},"party_name",[138,862,863],{},[47,864,691],{},[138,866,867],{},"Full name of the political party.",[116,869,870,875,879],{},[138,871,872],{},[47,873,874],{},"party_short_name",[138,876,877],{},[47,878,691],{},[138,880,881],{},"Abbreviated party name displayed in the UI.",[116,883,884,889,894],{},[138,885,886],{},[47,887,888],{},"custom_fields",[138,890,891],{},[47,892,893],{},"Record\u003Cstring, string>",[138,895,896],{},"Arbitrary key-value pairs injected as extra variables into AI-generated message templates.",[95,898],{},[43,900,902],{"id":901},"typescript-types","TypeScript types",[51,904,905,906],{},"Download the type definitions file and reference it in your project for full IDE autocompletion: ",[188,907,910],{"href":908,"target":909,"download":910},"\u002Ftypes\u002Factivoice-embed.d.ts","_blank","activoice-embed.d.ts",[559,912,913],{},"This file is not versioned or distributed automatically. As the API evolves, you will need to re-download it and update your local copy manually.",[51,915,916,917,920],{},"Then point your ",[47,918,919],{},"tsconfig.json"," to it:",[58,922,926],{"className":923,"code":924,"filename":919,"language":925,"meta":63,"style":63},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n  \"include\": [\".\u002Factivoice-embed.d.ts\", \"src\u002F**\u002F*\"]\n}\n","json",[47,927,928,933,971],{"__ignoreMap":63},[67,929,930],{"class":69,"line":70},[67,931,932],{"class":77},"{\n",[67,934,935,938,941,944,946,949,951,955,957,960,963,966,968],{"class":69,"line":444},[67,936,937],{"class":77},"  \"",[67,939,940],{"class":433},"include",[67,942,943],{"class":77},"\"",[67,945,484],{"class":77},[67,947,948],{"class":77}," [",[67,950,943],{"class":77},[67,952,954],{"class":953},"sfazB",".\u002Factivoice-embed.d.ts",[67,956,943],{"class":77},[67,958,959],{"class":77},",",[67,961,962],{"class":77}," \"",[67,964,965],{"class":953},"src\u002F**\u002F*",[67,967,943],{"class":77},[67,969,970],{"class":77},"]\n",[67,972,973],{"class":69,"line":464},[67,974,518],{"class":77},[976,977,978],"style",{},"html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}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}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}",{"title":63,"searchDepth":444,"depth":444,"links":980},[981,982,983,984,988],{"id":45,"depth":444,"text":49},{"id":99,"depth":444,"text":102},{"id":224,"depth":444,"text":193},{"id":418,"depth":444,"text":214,"children":985},[986,987],{"id":522,"depth":464,"text":523},{"id":585,"depth":464,"text":588},{"id":901,"depth":444,"text":902},"Complete reference for the Activoice embed configuration","md",[992],{"label":28,"icon":31,"to":29},{},{"icon":36},{"title":33,"description":989},"Agb0O-RA1MEPmunnZDZLWV98G93ka0lz-ldVv_oggps",[998,1000],{"title":28,"path":29,"stem":30,"description":999,"icon":31,"children":-1},"Embed an Activoice campaign on any website in minutes",null,1781171891536]