Opravte kampaň bez vytváření další registrace
Pomocí této cesty upravte popis existující kampaně, příklady zpráv, vysvětlení souhlasu nebo podporované charakteristiky obsahu. Zachovejte ID kampaně a její stávající značku a případ použití. Nová registrace neslouží k opakování pokusu o opravu existující kampaně.
Ověřte se pomocí aktivovaného účtu API přes HTTPS z povolené zdrojové IP adresy. Dostupná je pouze kampaň patřící tomuto účtu. Než připravíte změny, načtěte její aktuální stav; kampaně s prošlou platností nelze tímto postupem aktualizovat.
curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Vyberte pole, která se skutečně změnila
Připravte soubor campaign-update.json s podporovanými změnami. Současný portál odesílá pouze změněná pole kampaně a neodesílá brandId, usecase, campaignId ani informace o stavu určené pouze pro odpověď. Také přímé aktualizace přes API používají objekt JSON s poli, nikoli obal changes/version používaný portálem.
| Pole | Co uvést |
|---|---|
| description, messageFlow | Přesný popis služby a způsobu, jakým lidé udělují souhlas, přijímají zprávy a odvolávají souhlas. Každé pole umožňuje 40–4096 znaků. |
| sample1–sample5 | Realistické ukázky pro tuto kampaň, 20–1024 znaků na každou neprázdnou ukázku. Zachovejte počet ukázek požadovaný kvalifikovaným případem použití; neodesílejte nesouvisející zprávy. |
| helpMessage, optinMessage, optoutMessage | Příslušné odpovědi určené příjemcům, nejvýše 1024 znaků. Je-li to vyžadováno, dodržte minimální délku 20 znaků a vysvětlete skutečně poskytovanou službu. Před vymazáním pole si projděte aktuální požadavky na souhlas. |
| optinKeywords, optoutKeywords, helpKeywords | Klíčová slova oddělená čárkami bez mezer, nejvýše 255 znaků. Zajistěte soulad odpovědí se skutečným zpracováním klíčových slov. |
| privacyPolicyLink, termsAndConditionsLink | Příslušné veřejné adresy URL, nejvýše 2048 znaků, které popisují skutečné postupy této služby. |
| embeddedLinkSample | Reprezentativní odkaz, který budou zprávy obsahovat, nejvýše 255 znaků. |
| numberPool, embeddedLink, embeddedPhone, ageGated, directLending | Skutečné charakteristiky kampaně jako logické hodnoty ve formátu JSON. Při vypínání některé z nich použijte false, nikoli řetězec "false". |
| autoRenewal | Veřejné schéma API tuto logickou hodnotu ve formátu JSON podporuje, přestože ji běžný editor obsahu kampaně v portálu nezpřístupňuje. Vypnutí obnovení neruší stávající minimální závazek ani nemaže již splatné poplatky. |
| resellerId | Schéma umožňuje také přiřazení prodejce. Tato možnost není součástí běžného formuláře pro opravu obsahu v portálu. Nepoužívejte toto pole k přesunu kampaně mezi zákazníky ani nepředpokládejte, že API nakonfiguruje službu operátora pro jiného prodejce. |
Schéma aktualizace nenabízí brandId, usecase, subscriberOptin, subscriberOptout ani subscriberHelp jako upravitelná pole. Nekopírujte do aktualizace celý obsah požadavku na vytvoření kampaně. Projděte si aktuální kvalifikaci při kontrole požadavků na zprávy.
Odešlete cílenou opravu
Tento příklad popisuje ukázkovou službu připomínání sjednaných termínů. Před použitím jej přizpůsobte skutečné službě kampaně a jejímu procesu získávání souhlasu.
{
"description": "Appointment reminders requested by customers of the registered business.",
"sample1": "Example business: Your requested appointment reminder is ready. Reply STOP to opt out."
}curl --silent --show-error --fail-with-body --user "$API_USER:$API_PASSWORD" \
--request PUT \
--header 'Content-Type: application/json' \
--header "Idempotency-Key: $IDEMPOTENCY_KEY" \
--data-binary @campaign-update.json \
"https://api.multitel.net/tcr/v2/campaign/$CAMPAIGN_ID"Pro totéž zamýšlené odeslání zachovejte stejný klíč a naprosto shodnou metodu, cestu, dotaz i bajty těla. Změněný obsah vyžaduje samostatně posouzený požadavek; po vypršení časového limitu klíče bez rozmyslu neměňte. Dokončený požadavek může znovu vrátit chybu z mezipaměti a duplicitní požadavek během zpracování může vrátit 409 s hlavičkou Retry-After.
Načtěte kampaň znovu
Odpověď HTTP 200 vrací přímo objekt kampaně ve formátu JSON. Ověřte campaignId, poté načtěte stejnou kampaň metodou GET a porovnejte zamýšlená pole. Úspěšné uložení samo o sobě nevyžádá další posouzení operátorem, nezmění přiřazení čísel, neaktivuje odesílání ani neodešle zprávu.
Portál před uložením kontroluje verzi formuláře a poté kampaň znovu načte. Veřejný koncový bod PUT tuto verzi portálu nevynucuje: koordinujte souběžné úpravy. Klíč idempotence nezjistí aktualizaci provedenou jiným editorem.
Pokud portál zobrazuje dosud nevyřešené zamítnutí při posouzení, nejprve opravte obsah a poté použijte samostatnou akci pro vyžádání posouzení, je-li dostupná. Tato akce kontroluje aktuální kampaň v ostrém provozu a stav sdílení. Samotné uložení obsahu ji nespustí a existence ID kampaně nedokládá schválení.
Běžné aktualizace kampaně metodou PUT v současné službě nespouštějí samostatné stržení poplatku za registraci kampaně. Nadále platí stávající měsíční poplatky, minimální závazky, pronájem čísel a účtování podle využití zpráv. Aktuálně nastavené sazby pro kampaně najdete v části poplatky za kampaně.
Řešte omezení a nejasné výsledky
Při HTTP 400 si přečtěte chybu konkrétního pole a zkontrolujte délky, text souhlasu a stav kampaně. Při 401, 403 nebo 404 zkontrolujte přihlašovací údaje k API, povolenou zdrojovou IP adresu a vlastnictví. Při 429 dodržujte Retry-After. Při 500, 502 nebo přerušeném požadavku zachovejte ID kampaně a případné requestId a před dalším odesláním ověřte a slaďte existující záznam.
Místní snímek závisí na vráceném těle odpovědi. Neprázdná částečná odpověď může vynechat starší pole včetně metadat obnovení; prázdná odpověď může ponechat zastaralé hodnoty. Ověřte úplný výsledek GET a nepovažujte samotný úspěch za důkaz, že byla zachována všechna pole. Nevyřešené rozdíly nahlaste podpoře. Tato cesta neaktualizuje přiřazení operátorů atomicky ani neposkytuje obecnou akci pro obnovu aktivace u operátora.