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