Zasílání PUSH/In-App zpráv z aplikace Boldem je realizováno vytvořením textové zprávy na základě vygenerování z šablony a následného zaslání na předem definovaný HTTP endpoint.
Zasílaná zpráva je ve formátu HTTP POST a zasílaný JSON lze definovat pomocí šablonovacího systému.
Výsledný formát vygenerované PUSH zprávy je text, obohacený o nahrazené proměnné, slevové kupóny, oslovení apod. jako v případě emailové zprávy. Lze využít veškeré možnosti práce s proměnnými a šablonovacího systému.
U In-App zprávy je generován základní HTML kód, který lze následně uživateli zobrazit v mobilní aplikaci za pomoci výchozího webového prohlížeče. U tohoto typu zprávy už můžeme využít i obrázky uložené na Boldem CDN, můžeme měřit prokliky odkazů a také otevření jednotlivých zpráv za pomocí trackovacího odkazu. Pokud nechcete přenášet celý HTML kód, lze předat pouze odkaz na webovou verzi dané zprávy a tuto URL následně uživateli načíst v aplikaci.
V předávaném JSONu na cílové API můžeme nahradit i uživatelské proměnné, např. ID uživatele ve vašem systému pro efektivnější spárování ve vaší aplikaci.
Na API můžeme také předávat vlastní parametry zprávy, které budou společné pro všechny zprávy z dané kampaně – např. slevový kupón a jeho platnost. Tyto vlastní parametry se nastavují na úrovní kampaně/automatizace.
Ukázka API konektoru pro jednotlivou zprávu, kde se z uživatelských dat předává vyplnění userId a podle typu zprávy se vyplňuje body (pro PUSH notifikaci) a nebo webViewUrl (pro In-App zprávu).
{
"messageId": {{message.messageId}},
"appType": "PAS",
"userId": "{{contact.user_ids}}",
"type": "{{(message.messageSubType == 1 ? "IN_APP" : "PUSH")}}",
"title": "{{message.title | string.strip_newlines}}",
{{if(message.messageSubType == 2)}}
"body": "{{message.content | string.strip_newlines}}",
{{end}}
{{if(message.messageSubType == 1)}}
"webViewUrl": "{{webMailUrl}}",
{{end}}
"validity": "{{messageCustomHeaders?.validity}}",
"showAlways": "{{messageCustomHeaders?.showAlways}}",
"coupon": "{{messageCustomHeaders?.coupon}}",
"campaignId": {{if message.automationId != null}}"AUTOMATION_{{message.automationId}}"{{else}}"AUTOMATION_{{ math.uuid }}"{{end}},
"distributionId": {{if message.generatorExecutionId != null}}{{message.generatorExecutionId}}{{else if message.automationId != null}}"{{date.now | date.to_string '%y%m%d'}}"{{else}}"{{ math.uuid }}"{{end}}
}Zprávy lze na API zasílat buď jednotlivě a nebo v dávkách, např. po 20 zprávách.
Ukázka generování finální dávky zprávy kde překontrolujeme, že každá zpráva má vyplněné userId z uživatelských dat.
{{ func filterForItemsWithUserId(item)
ret (item.userId != null && !(string.empty item.userId))
end }}
{
"items": {{items | array.filter @filterForItemsWithUserId | printJson}}
}Ukázka message modelu
{
"messageId": 1,
"campaignId": 10,
"generatorExecutionId": 15,
"dataSourceId": 1,
"guid": "4e19a13d-cab0-467b-8776-423eaee61f2b",
"messageType": 5, // 5 - mass message type, 7 - transactional message type
"messageSubType": 1,
"to": "example@example.com",
"isHtml": true,
"contact": {
"contactId": 123,
"guid": "4e19a13d-cab0-467b-8776-423eaee61f2b",
"email": "example@example.com",
"mobilePhone": "555-555-5555",
"name": "John",
"surname": "Doe",
"title": "Mr.",
"street": "123 Main St",
"city": "Anytown",
"zip": "12345",
"sex": 1,
"company": "Acme Inc.",
"mujUzivatelskySloupec": "vase hodnota",
"oblibenaKapela": "Red Hot Chili Peppers",
},
"created": "2025-08-01T10:00:00Z",
"title": "Welcome to our service",
"content": "Hello John, use your code ABC to save today!",
"templateId": 5,
"customHeaders": [
{
"name": "X-Custom-Header",
"value": "HeaderValue"
}
],
"automationId": null,
"automationBlockId": null,
"automationStateId": null,
"tags": ["welcome", "promo"],
"groupId": null,
"trackOpens": true,
"trackClicks": true
}Požadavky můžeme obohatit o vlastní HTTP hlavičky, např. pro autorizaci za pomocí API klíče.
Konektor můžete využít jak pro zasílání hromadných zpráv tak i pro transakční zprávy, např. generované na základě definované logiky z automatizací.
Notifikace o doručení zprávy lze do Boldem zpětně notifikovat pomocí api.boldem.cz s využitím Endpointu POST /v1/mass-message-delivery, kde v zaslaném JSONu zasíláte ID dané zprávy a datum doručení.
Jaroslav Bouška