Export a migrace dat z Brevo: jak data přesunout dovnitř i ven
Exportujte z Brevo kontakty, statistiky a logy, zjistěte, co se přenést nedá, a projděte krok za krokem kontrolní seznam pro migraci oběma směry.
Objem vyhledávání frází jako „brevo data export migration to another platform” pohání jediná obava: že data, která jste nashromáždili, se snáz vkládají dovnitř než dostávají ven. Poctivá odpověď pro Brevo zní, že většina dat vyjde čistě, část vyjde v podobě, kterou musíte znovu poskládat, a malá, ale důležitá část se přesunout nedá vůbec.
Tento průvodce pokrývá oba směry. Vypisuje přesně, co se exportuje a co ne, API volání pro účty, které jsou na rozhraní příliš velké, a kontrolní seznam migrace, který se seznamy potlačených adres a reputací odesílání zachází jako s prvořadými věcmi, nikoli jako s dodatkem.
Co z Brevo skutečně vyexportujete
| Data | Jak se dostanou ven | Formát |
|---|---|---|
| Kontakty a atributy | Export ze stránky Contacts nebo POST /v3/contacts/export | CSV |
| Členství v seznamech | Export po seznamech nebo metadatové pole _listIds | CSV |
| Stav odběru | exportSubscriptionStatus v exportní úloze | CSV |
| Statistiky kampaní | Export reportu kampaně nebo GET /v3/emailCampaigns | CSV, PDF, JSON |
| Logy transakčních událostí | GET /v3/smtp/statistics/events nebo hromadná exportní úloha | JSON, CSV |
| Šablony | GET /v3/smtp/templates vrací htmlContent | JSON |
| Společnosti a obchody | Export z příslušné stránky CRM | CSV |
Kontakty a atributy
Cesta v rozhraní je CRM a poté Contacts. Chcete-li exportovat celou databázi, ujistěte se, že není načtený žádný seznam ani segment a nejsou použity žádné filtry. Chcete-li exportovat jeden seznam nebo segment, klikněte nejprve na „Load a list or segment” a vyberte jej.
Poté zvolíte, které standardní a vlastní atributy zahrnout. EMAIL, datum poslední změny a datum vytvoření jsou vybrány ve výchozím stavu a zbytek přidáváte sami, což je krok, který lidé nejčastěji odbydou. Zvolte oddělovač polí CSV, středník nebo čárku, a případně zapněte „Send export by email”, aby odkaz ke stažení dorazil na adresu vlastníka účtu. Klikněte na „Start export” a poté soubor stáhněte přes zvoneček s oznámeními vedle názvu vašeho účtu.
Seznamy a segmenty
Seznamy se exportují jako členství: spusťte jeden export na seznam, nebo zahrňte metadata _listIds do jednoho úplného exportu a soubor následně rozdělte. GET /v3/contacts/lists vám dá názvy seznamů, jejich id a id složek, abyste strukturu mohli na druhé straně obnovit.
Se segmenty je to jinak a tady přichází první skutečná mezera. GET /v3/contacts/segments vrací pouze id, segmentName, categoryName a updatedAt. Podmínky filtru, které segment definují, dostupné nejsou. Můžete exportovat členy segmentu k danému okamžiku, ale pravidlo, které je vytvořilo, je nutné odečíst z obrazovky a v novém nástroji postavit ručně. Než účet zrušíte, vyfoťte si každý segment.
Statistiky kampaní
Z reportu kampaně můžete data exportovat jako CSV a reporty e-mailů a SMS nabízejí i verzi v PDF pro sdílení nebo tisk. Pro úplné historické stažení přijímá GET /v3/emailCampaigns parametr statistics s hodnotami globalStats, linksStats nebo statsByDomain a dvojici startDate a endDate pokrývající rozsah až dvou let.
Transakční logy
Dvě cesty s odlišnými okny.
GET /v3/smtp/statistics/events vrací jednotlivé události filtrované podle typu (delivered, opened, clicks, hardBounces, spam, unsubscribed a další). Časový rozsah nesmí přesáhnout 90 dní a pokud nepředáte rozsah ani parametr days, výchozí je posledních 30 dní.
Pro hromadné stažení vytvoří POST /v3/webhooks/export exportní úlohu nad surovými událostmi za posledních 7 dní, s limitem 20 exportních úloh za období 7 dní. Vrací processId, po dokončení zavolá vaši notifikační URL a doručí CSV se sloupci včetně date, email, event, message-id, reason, sending_ip, subject, tag a template_id. Velké objemy dorazí jako komprimovaný archiv několika souborů CSV.
Praktický důsledek: pokud chcete více než 90 dní transakční historie, museli jste ji exportovat pravidelně od začátku. Tuto úlohu si nastavte teď, ne v týdnu, kdy se rozhodnete odejít.
Co s vámi nepůjde
Právě tuto část většina průvodců migrací přeskakuje.
- Struktury automatizačních workflow. API umí automatizace spouštět přes události, ale neexistuje dokumentovaný endpoint, který by zpětně přečetl větve, prodlevy a podmínky workflow. Každé workflow se v nové platformě staví ručně znovu.
- Definice filtrů segmentů. Jak bylo řečeno výše, získat lze pouze názvy a aktuální členy.
- Úplná historie interakcí u jednotlivých kontaktů. Pomocí
customContactFilterna exportním endpointu můžete exportovat ty, kdo konkrétní kampaň otevřeli, proklikli, neotevřeli, odhlásili se, nebo u koho došlo k tvrdému či měkkému odrazu. Co stáhnout nelze, je jeden úhledný soubor se „všemi otevřeními a prokliky, které kontakt kdy udělal”, protože endpointy pro surové události jsou ohraničené 90 dny. - Věrnost vykreslení šablon.
htmlContentse exportuje čistě, ale bloky drag and drop, syntaxe slučovacích značek a zástupné odkazy pro odhlášení jsou specifické pro platformu. Exportované HTML je výchozí bod, nikoli hotová šablona. Počítejte s časem na opětovné otestování každé šablony v novém editoru. - Reputace doručitelnosti. Reputace odesílatele žije na odesílacích IP adresách a ověřené doméně. Nová platforma, nový fond IP adres, nové zahřívání. Zachování stejné domény a konfigurace DKIM uchová doménovou stranu reputace, což skutečně pomáhá, ale stranu IP nepřenese.
- Identifikátory formulářů, landing pages a trackingu. Registrační formuláře, landing pages i sledovací skript mají identifikátory specifické pro platformu. Cokoli je vložené na vašem webu, je nutné vyměnit, a jakákoli analytika navázaná na tato id se při přepnutí rozbije.
Skriptovaný export pro velké účty
Zhruba nad 100 000 kontaktů se export z rozhraní stává pomalým a nepohodlným a stejně chcete opakovatelnou úlohu. Endpoint pro export kontaktů je asynchronní: přijme filtr, vrátí id procesu a po dokončení vám předá CSV.
curl --request POST \ --url https://api.brevo.com/v3/contacts/export \ --header 'accept: application/json' \ --header 'content-type: application/json' \ --header 'api-key: YOUR_API_KEY' \ --data '{ "customContactFilter": { "actionForContacts": "allContacts" }, "exportMandatoryAttributes": true, "exportAttributes": ["FIRSTNAME", "LASTNAME", "SMS", "COUNTRY"], "exportMetadata": ["_listIds", "ADDED_TIME", "MODIFIED_TIME"], "exportSubscriptionStatus": ["email_marketing", "sms_marketing"], "exportDateInUTC": true, "notifyUrl": "https://example.com/hooks/brevo-export" }'Úspěšné volání vrátí HTTP 202 a tělo obsahující processId. exportMandatoryAttributes má výchozí hodnotu true a pokrývá EMAIL, ADDED_TIME a MODIFIED_TIME, takže v exportAttributes pojmenujete svá vlastní pole. Nastavení exportSubscriptionStatus je to, co do souboru dostane marketingový souhlas pro e-mail a SMS, a jeho vynechání je zdaleka nejčastější způsob, jak vyrobit export nepoužitelný pro migraci v souladu s předpisy.
Pokud raději procházíte záznamy, než abyste čekali na úlohu, GET /v3/contacts přijímá limit až 1000 s parametrem offset plus modifiedSince a createdSince pro inkrementální stahování. U každého kontaktu se vrací emailBlacklisted, smsBlacklisted, listIds, listUnsubscribed a consentGroups, což je vše, co potřebujete k rekonstrukci stavu souhlasu.
Při skriptování hlídejte limity požadavků. Endpointy kontaktů umožňují 36 000 požadavků za hodinu a 10 za sekundu na standardních tarifech, dvojnásobek na úrovních Professional a Enterprise, zatímco většina ostatních endpointů sedí na 100 požadavcích za hodinu. Stránkování milionu kontaktů po 1000 na stránku je 1000 požadavků, tedy pohodlně uvnitř rozpočtu pro kontakty, ale bušení do endpointů kampaní nebo šablon ve smyčce už ne.
Proč musí váš seznam potlačených adres migrovat jako první
Odhlášené kontakty přesuňte dřív než cokoli jiného.
Právní argument je jednoduchý. Kontakt, který se odhlásil, odvolal souhlas vaší značce. Toto odvolání se nevynuluje tím, že jste změnili dodavatele. Podle GDPR je záznam o souhlasu a jeho odvolání vaší povinností správce a podle CAN-SPAM musí být odhlášení respektováno do deseti pracovních dnů a zůstává respektováno neomezeně dlouho. Ztráta tohoto seznamu při migraci není technická nehoda, je to selhání souladu s předpisy s papírovou stopou, která ukazuje na vás.
Argument o doručitelnosti je v praxi ještě horší. Potlačené adresy patří nepoměrně často lidem, kteří si stěžovali, u kterých došlo k tvrdému odrazu, nebo kteří aktivně chtěli pryč. Rozeslat jim poštu ze zbrusu nové IP adresy bez reputace je nejrychlejší známý způsob, jak si nechat čerstvé odesílání přiškrtit nebo zablokovat hned v prvním týdnu. Několik tisíc recyklovaných spamových pastí a stěžovatelů dokáže zničit měsíc pečlivého zahřívání.
Exportujte proto potlačené skupiny výslovně, místo abyste doufali, že se zahrnou samy. Na exportním endpointu přijímá actionForContacts hodnotu unsubscribed pro kontakty blokované jakýmkoli způsobem a unsubscribedPerList pro kontakty odhlášené z jednoho konkrétního seznamu. Pro hardBounces udělejte samostatný průchod po kampaních. Při vstupu do nové platformy tento soubor importujte do jejího seznamu potlačených adres, nikoli do rozesílatelného seznamu.
Brevo zvládá i opačný případ: podporuje import seznamu blokovaných kontaktů a importní API přijímá booleovské hodnoty emailBlacklist a smsBlacklist, takže importovaný soubor dopadne jako potlačený. Všimněte si asymetrie, kterou Brevo správně vynucuje: kontakty nelze hromadně odblokovat, protože hromadné znovupřihlášení někoho, kdo požádal, aby byl ponechán na pokoji, by bylo nezákonné. Potlačení se snadno přidává a záměrně obtížně odebírá. Berte to jako správné chování, ne jako překážku.
Kontrolní seznam migrace, směrem z Brevo
- Audit. Spočítejte kontakty, seznamy, segmenty, aktivní automatizace, šablony a integrace. Poznamenejte si, které integrace do Brevo zapisují, protože to jsou trubky, které budete muset přesměrovat.
- Export. Kontakty se všemi atributy plus stav odběru, jeden soubor na seznam nebo jeden soubor nesoucí
_listIds, potlačené skupiny jako samostatné soubory, statistiky kampaní, transakční události tak daleko do minulosti, jak dovolí okno 90 dní, a HTML šablon. - Archivujte to, čemu vyprší platnost. Cokoli časově ohraničeného (surové události, logy) je pryč, jakmile se okno posune. Uložte to už teď do vlastního datového skladu nebo objektového úložiště.
- Vyčistěte a namapujte. Odstraňte duplicity, sjednoťte formáty dat a telefonních čísel a napište explicitní mapování sloupců na pole nové platformy. Je to také přirozený okamžik, kdy zahodit adresy, které rok nereagovaly, což je levnější než platit za zahřívání mrtvé váhy. Prahové hodnoty pokrývá náš průvodce čištěním e-mailových seznamů.
- Nahrajte nejdřív potlačené adresy. Naimportujte odhlášení a tvrdé odrazy do seznamu potlačených adres nové platformy, ověřte, že počty odpovídají vašemu exportu, a teprve poté nahrajte rozesílatelné kontakty.
- Zahřívejte. Začněte svým nejangažovanějším segmentem, objem zvyšujte postupně a denně sledujte míru odrazů a stížností. Postup podrobně popisuje náš průvodce doručitelností e-mailů.
- Běžte paralelně. Nechte Brevo v provozu a odesílat kritickou transakční poštu, zatímco nová platforma zpracovává rostoucí podíl marketingových odeslání. Nepřepínejte obojí najednou.
- Ověřte. Srovnejte počty kontaktů, namátkově zkontrolujte dvacet kontaktů pole po poli, potvrďte pokusem o testovací odeslání, že potlačené kontakty jsou skutečně potlačené, a porovnejte týden objemu odeslání se starou platformou.
- Přepněte a nechte si možnost návratu. DNS a endpointy integrací měňte v okně, kdy se někdo dívá. Nechte účet Brevo naživu a zaplacený alespoň jeden celý fakturační cyklus po přepnutí a exportované soubory uložte mimo obě platformy. Právě to, a nikoli slib dodavatele, je váš skutečný plán návratu.
Migrace do Brevo z jiné platformy
Stejný kontrolní seznam běží obráceně, se třemi poznámkami specifickými pro Brevo.
Získejte od stávajícího dodavatele skutečný export. Většina platforem vám dá kontakty a jejich vlastní pole jako CSV. Vyžádejte si výslovně seznam potlačených adres a seznam odrazů, které bývají v samostatném exportu, na nějž lidé zapomínají. Pokud přicházíte z modelu s cenou za kontakt, porovnejte, kolik ve skutečnosti zaplatíte, s naším průvodcem cenami Brevo.
Namapujte pole ještě před nahráním. Atributy Brevo mají typy (text, číslo, datum, boolean, kategorie) a datum, které dopadne do textového atributu, později nepůjde filtrovat. Nejprve vytvořte atributy se správnými typy, potom importujte.
Cokoli většího importujte přes API. POST /v3/contacts/import přijímá vložené CSV v fileBody, pole JSON v jsonBody, obojí s limitem kolem 10 MB, nebo vzdálený soubor přes fileUrl, plus listIds nebo objekt newList. updateExistingContacts má výchozí hodnotu true a páruje podle e-mailu. Spusťte jeden import s emailBlacklist nastaveným na true pro váš soubor potlačených adres a poté druhý import pro rozesílatelné kontakty. Kompletní funkční skripty najdete v našem průvodci importem kontaktů z CSV do Brevo pomocí skriptu.
Poté znovu postavte to, co se nepřeneslo: automatizace, segmenty, formuláře a šablony. Než odešlete komukoli skutečnému, pošlete testovací zásilku na hrst poštovních poskytovatelů.
Ať příští migrace není sráz
Migrace platformy působí jako sráz proto, že se platforma stala systémem záznamu. Historie objednávek, stav odběratelů a výsledky kampaní žijí uvnitř jednoho dodavatele a jejich přesun znamená evakuaci.
Alternativou je držet si vlastní zdroj pravdy a nechat odesílací platformu být cílem, nikoli trezorem. Pokud se data o vašem obchodě, stav souhlasu a události interakcí průběžně synchronizují do vašich vlastních systémů, je změna nebo přidání kanálu změnou konfigurace místo projektu. Přesně to dělá Tajo mezi Brevo a technologickým prostředím obchodníka: udržuje data v pohybu oběma směry, aby platforma nikdy nebyla jedinou kopií.
Tak či onak, exportní úlohy popsané výše se vyplatí spouštět pravidelně už teď, ať už odchod plánujete, nebo ne. Nejlevnější migrace je ta, kde jsou data mimo platformu už ve chvíli, kdy se rozhodujete.