Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    User documentationGetting StartedFAQAltcraft glossary
      Profiles and databasesarrow
    • Subscription resourcesManaging databasesSubscriber profileProfiles import and data updateScheduled customer data importAutomatic data collectionBulk customers profiles updateDouble opt-in subscriptionSuppression listsProfile relationsProfile history exportProfile exportCreating a static segment based on import resultsHow to open a CSV fileMatchingTypes of fields in the databaseGlobal control groupsSubscription Manager
      Communication channelsarrow
      • Email channelarrow
      • Email: ISP interactions best practices
          First mailingarrow
        • Quick StartEmail
        Email: sending domain configurationEmail: setting up and using postmasters
        Push channelarrow
        • Mobile Pusharrow
        • Settings & implementation
            Integrate your app with Altcraftarrow
          • Providers: push message structureProcessing and adding a subscriptionEvent registration
          First Mobile Push Mailing
          Web pusharrow
        • Preliminary Settings
            Web browser push configurationarrow
          • Firebase Cloud messagingApple SafariMozilla Services
          Connecting Web Push to a WebsiteTransferring Data to the PlatformWeb Push SDK Methods
            Import of subscriptions from third-party push servicesarrow
          • Migrating push subscriptions from third-party servicesHow to transfer push subscriptions configured for Safari?Migration from OneSignal
          First Web Push Mailing
        SMS channelarrow
      • SMS
      WhatsAppViber*™
        Telegramarrow
      • Telegram BotTelegram Group
        Maxarrow
      • MAX BotMAX Group
      NotifyCommunication Channels WorkflowРуководство: SMS-рассылка через VK NotifyРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Segmentationarrow
    • Static SegmentsDynamic SegmentsUpdatable Segments
        Segmentation Conditionsarrow
      • Segmentation by Profile dataSegmentation by Interactions with EntitiesSegmentation by Activity of the channelSegmentation by external dataSegmentation by external SQL tablesSegmentation by Profile structure
      Best Send Time (BST)Logical operators "AND" and "OR"Recommendations for working with segments
      Message templatesarrow
      • Working with message templatesarrow
      • Working in the editorEmail-templateSMS templatePush templateMAX templateTelegram templateWhatsApp templateViber™ templateNotify template
        Visual editor for email-templatearrow
      • Visual editor interfaceAdding blocksElements and their settingsCustom blocksStyle managerLayer manager
      Template fragmentsImage galleryContent personalizationCreating tables based on array elementsBlock editor for email template
        Altcraft Variables and Functionsarrow
      • Logical expressions in messagesLoops in messagesMarket variables in templatesUsing the JSONPath functionality
        Dynamic content in messagesarrow
      • Dynamic HTML contentDynamic JSON contentContent from SQL database in templatesDynamic API content
      Importing and exporting a message templateImporting a template from a third-party serviceExporting a template from Pixcraft
      Mailingsarrow
    • Mailings calendarBroadcast mailingsRegular mailingTrigger mailingMultivariate testingMailing testingMailing schedulePlacement mailing
      Campaignsarrow
    • Working with CampaignsLocal control groups (LCG)Stratification Violation ErrorAudience expansionAudience building
      Automation scenariosarrow
    • Managing scenariosNodes of the scenarioClassic marketing scenariosStep-by-step welcome scenario guideScenario for automatic notification of the managerAbandoned cart scenario
      Marketarrow
    • Market settings
        Productsarrow
      • How to create a product manuallyHow to import a product from a fileScheduled product importProduct and SKU SegmentsPreparing the YML file
      OrdersMarket variables in message templateGuide: how to send an order confirmation email
      Loyalty programsarrow
    • Loyalty programsLoyalty integration with external systemsБыстрый стартBasic loyalty program use casesOrder SegmentsPromotion codes
      Reports and analyticsarrow
    • Channel reportTraffic report
        Summary reportarrow
      • Summary report metrics
      Cohorts reportLifetime reportFunnels reportGoals reportAudience growth reportClick map reportLoyalty programs reportBounces reportUndeliveries reportReport on global control groups
      Integrationsarrow
      • Action hooksarrow
      • Altcraft Action HooksAction hooks event typesAction Hook Message StructureJSON batch request (HTTP POST action hook)Message to RabbitMQ brokerMessage to RabbitMQ exchangerMessage to Kafka brokerTest event
        Integration of third-party services using Albatoarrow
      • Connecting Altcraft to Albato Launching the welcome scenario using AlbatoTransmitting event dataSetting app a trigger mailingEvent registrationGoogle Sheets and Altcraft integration AmoCRM and Altcraft integration
      Facebook Ads Manager™Google Ads AudiencesMAXYandex.Audience™VK Ads™Static segment synchronizationYandex AppMetrica™Tilda™Lpgenerator™WhatsAppViber*™ integrationIntegration scopeData Transmitted During SynchronizationNotify
      Weblayersarrow
      • Formsarrow
        • Create a formarrow
        • General settingsForm constructorAppearanceActions and form publicationConditional logic in forms and surveys
        Data analyticsBinding data channel and formsNPS testing
        Pixelsarrow
      • Goal customer actions and scoring
        Pop-upsarrow
      • Creating and publishing a pop-upSetting up a popup in the code editorManaging pop-ups manually via scriptPopup analyticsGuide: pop-up for push subscriptionsCase: Creating a pop-up with the "Wheel of Fortune" widgetBasic cases of placing a popup via the Tag Manager
        Tag Managerarrow
      • Configuring and installing Tag ManagerTrigger typesVariables typesLinking a pixel and the Tag manager
      Settingsarrow
    • Account settingsCustom linksVirtual sendersSending policiesAudit journalTags FAQ
        Users, groups and accessarrow
      • Two-Factor Authentication (2FA)
        Connectionsarrow
      • Connection to Facebook Ads ManagerConnection to Google AdsConnecting to Yandex.Audience™Connection to 360dialogConnection to EdnaConnection to Devino TelecomConnection to SMSTrafficConnection to VK Ads™Connection to MTS OmniChannelCustom Authentication ConnectionOAuth2 connectionBasic Authentication connectionToken Authentication connectionConnection to RapportoMAX connectionConnection to Notify
      Attribute settings
      API requests: where to startarrow
    • Import or update a profileTrigger mailing launchEngage profile in scenario
      Changelogarrow
    • v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
    Documentation archivelibrary
  • Integrations
  • Action hooks
  • Action Hook Message Structure

Action Hook Message Structure

General structure​

General hook message structure for most event types:

ParameterTypeRequiredExampleDescription
event_typestringYes"click"Event name as in the event types table
event_datestringYes"2018-03-04T13:13:19.034315796Z"Event timestamp in RFC 3339 format
profile_idstringNo"abcdefgh12345678"Recipient profile ID
_xxhstringNo"ad1850e0d1d9481e"Subscriber email hash used for identification in Altcraft
_md5stringNo"145bb30f7ddf1184cb560bc4b7705646"MD5 hash of the subscriber's email
list_idintNo111Database ID where the event occurred
account_idintYes23Account ID where the event occurred
sends_trying_numintNo2Number of message sending attempts (present only if the number of attempts is greater than 0)
is_testboolYesfalseWhether the event was triggered by a test send
is_staticboolNofalseWhether dynamic substitutions were used in the sent content
subscription_hash_idstringNo"0a4b910312345"Subscription hash
custom_dataJSON objectNo
{"alice@example.org"}
Subscriber data set configured in the Action Hook editing interface
event_dataJSON objectYes
{"browser": "Firefox"}
Data set that depends on the event type (there are two types: tracking events and events that occur during delivery)
subscriptionarrayNo
[
  {
    "resource_id": 123,
    "channel": "email",
    "email": "user@example.com",
    "phone": "+79991234567",
    "subscription_id": "abc123",
    "provider": "androidfirebase",
    "priority": 1,
    "status": "subscribed",
    "ccsub": {
      "custom_key": "custom_value"
    }
  }
]
Array with subscription details including information about the resource, communication channel, recipient, and subscription status. The structure is described below.
Note

When exporting historical events, message content is not transferred. Events are sent in the same format as in real time, and null is passed for deleted profiles.

event_data structure​

Campaign audience events​

For audience events:

ParameterTypeRequiredExampleFor which channelDescription
scampaign_idintNo1For allCampaign ID in the Altcraft system
prev_stintNo1For allGroup identifier: 1 - test, 2 - control

Tracking events​

For the following event types:

  • Email: uopen, open, uclick, click, confirm, confirmsub, unsub, read, glanced, skimmed
  • SMS: uclick_sms, click_sms, unsub_sms
  • Push: uopen_push, open_push, click_push, uclick_push
ParameterTypeRequiredExampleFor which channelDescription
message_idintYes17Email, SMS, PushMessage ID in the Altcraft system
campaign_idintYes973Email, SMS, PushCampaign ID in the Altcraft system
scampaign_idintNo973For allScenario ID in the Altcraft system
segment_idintNo0Email, SMS, PushSegment ID, if available
resource_idintYes3Email, SMS, PushResource ID
ipstringNo"10.9.0.14"Email, PushSubscriber IPv4 address
countrystringNo".us"
".ru"
Email, PushCountry in TLD format
citystringNo"New York"
"Moscow"
Email, PushSubscriber city
postal_codestringNo"101000"Email, PushSubscriber postal code
regionstringNo"Ohio"
"Moskovskaya oblast"
Email, PushSubscriber region
tzstringNo"Europe/Vaduz"Email, PushSubscriber time zone
latfloatNo55.244075Email, PushGeographic latitude
lonfloatNo55.244075Email, PushGeographic longitude
user_agentstringNo"Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"Email, PushUser-Agent header string
osstringNo"Linux x86_64"Email, PushOperating system
browserstringNo"Firefox"Email, PushBrowser and version
devicestringNo"web"Email, PushDevice
wickintNo1Email, PushEvent source, if 1 - API
link_urlstringNo"http://www.example.com"Email, SMS, PushHTTP link the user was redirected to
launch_idstringYes"00000017000003cd5a9bf01a"Email, SMS, PushLaunch ID
send_message_idstringYes"5a9bf01a17_3cd_11_6f_0_2.5a8c045fc1dde44cbf718f78"Email, SMS, PushSent message ID
full_message_idstringYes"fQIQs4FgAAEBIcARADkxODlKR8-gA"Email, SMS, PushFull SendMessageID
email_message_idstringNo"mzi5c1~+9vqekqmy63mh8xhgt2qjwfkad6lmiafbyn-0te1_uzckfqyi4ry"EmailEmail-safe SendMessageID
extra_uidstringNo"ew4Sgf41Qwjq8_2_2E_w_k___t.2SDvJv8bvBYQFtSDx"PushExtra UID
providerstringNo"YandexAppMetricaDeviceIDAndroid"PushProvider
prev_stintNo1For allGroup identifier: 1 - test, 2 - control

Messaging events​

For the following event types:

  • Email: send, deliv, suppress, complain
  • SMS: send_sms, deliv_sms
  • Push: send_push, deliv_push
ParameterTypeRequiredExampleFor which channelDescription
message_idintYes17Email, SMS, PushMessage ID in the Altcraft system
campaign_idintYes973Email, SMS, PushCampaign ID in the Altcraft system
segment_idintNo0Email, SMS, PushSegment ID, if available
resource_idintYes3Email, SMS, PushResource ID in the Altcraft system
launch_idstringYes"00000017000003cd5a9bf01a"Email, SMS, PushLaunch ID
send_message_idstringYes"5a9bf01a17_3cd_11_6f_0_2.5a8c045fc1dde44cbf718f78"Email, SMS, PushSent message ID
full_message_idstringYes"fQIQs4FgAAEBIcARADkxODlKR8-gA"Email, SMS, PushFull SendMessageID
email_message_idstringNo"mzi5c1~+9vqekqmy63mh8xhgt2qjwfkad6lmiafbyn-0te1_uzckfqyi4ry"EmailEmail-safe SendMessageID
extra_uidstringNo"ew4Sgf41Qwjq8_2_2E_w_k___t.2SDvJv8bvBYQFtSDx"PushExtra UID
providerstringNo"YandexAppMetricaDeviceIDAndroid"PushProvider
workflow_idintNo1For allScenario ID, if the campaign was launched from a scenario

For events sbounce, hbounce, sbounce_push, hbounce_push, the following parameters are also passed:

ParameterTypeRequiredExampleFor which channelDescription
bounce_codeintYes500Email, PushServer response code
bounce_messagestringYes"No such email"Email, PushServer response

For events undeliv, undeliv_sms, undeliv_push, the following parameters are passed:

ParameterTypeRequiredExampleFor which channelDescription
undeliv_codeintYes400Email, SMS, PushError code
undeliv_messagestringYes"Invalid Caller ID"Email, SMS, PushError message

Pixel events​

For pixel_open events:

ParameterTypeRequiredExampleDescription
ipstringYes"10.9.0.14"Subscriber IPv4 address
countrystringYes".ru "Country in TLD format
citystringYes"Moscow"Subscriber city
pixel_idintYes41Pixel ID
postal_codestringYes"390000"Subscriber postal code
regionstringYes"Ryazanskaya obl"astSubscriber region
tzstringYes"Europe/Vaduz"Subscriber time zone
latfloatYes55.244075Geographic latitude
lonfloatYes55.244075Geographic longitude
user_agentstringYes"Mozilla/5.0 (X11; Linux x86_64; rv:59.0) Gecko/20100101 Firefox/59.0"User-Agent header string
osstringYes"Linux x86_64"Operating system
browserstringYes"Firefox"Browser and version
devicestringYes"web"Device

The full list of possible parameters is available in this article.

Popup events​

For all popup_post, popup_click, popup_error, popup_bounce, popup_close, popup_open events:

ParameterTypeRequiredExampleDescription
popup_idintYes123Popup ID
refererstringYes"api.example.com"Referer request header
smidstringYes"fGmXiWU9Y4NSIpCwl4QQQQEQEAABCRA"Sent message identifier
utm_campaignstringNo"utm_campaign"Campaign UTM tag
utm_contentstringNo"utm_content"Content UTM tag
utm_sourcestringNo"utm_source"Source UTM tag

Some events have their own unique parameters:

ParameterTypeRequiredExampleDescription
popup_post
post_uidstringYes"7bc142b5-7f38-4272-bc7e-7539f70b25b1"Unique form submission identifier
popup_click
namestringYes"main_block"Name of the element that was clicked
urlstringYes"example.com/page"Value of the href attribute of the clicked element
popup_error, popup_bounce
errorstringYes"object_not_found"Error text
error_categoryintYes404Error number

Promocode events​

For promocode_attach, promocode_detach, promocode_activate events:

ParameterTypeRequiredExampleDescription
attachedstringYes"2020-10-25T13:28:52Z"Date and time the promocode was attached to the profile
detachedstringYes"2020-10-25T13:28:52Z"Date and time the promocode was detached
activatedstringYes"2020-10-25T13:28:52Z"Promocode activation date
codestringYes"TEST-XOUH-KBJM-J5K9-24I1"Promocode
db_idintYes123456Profile database ID
loyalty_idintYes9Loyalty program ID
profile_idstringYes"000000000000000000000000"Profile ID

All dates are specified in RFC 3339 format.

Segment creation events during import​

For segs_add, segs_remove events:

ParameterTypeRequiredExampleDescription
campaign_idintYes9Campaign ID in the Altcraft system
launch_idstringYes""Campaign launch ID
message_idintYes0Message ID in the Altcraft system
segment_idintYes80Segment ID, if available
send_message_idstringYes""Sent message ID
full_message_idstringYes"fQIQs4FgAAEBIcARADkxODlKR8-gA"Full SendMessageID

Events of merging multiple profiles or splitting one profile​

For profile_merge, profile_split events:

ParameterTypeRequiredExampleDescription
destinationarrayYes
[
   {
      "custom_data": {
         "age": 25
      },
      "db_id": 94,
      "profile_id": "608a8960e3224a6be26a71df"
   }
]
If profile merging occurs, it contains the matching data of the profile that will result from the merge.


If profile splitting occurs, it contains the matching data of the profiles that will result from the split.
sourcearrayYes
[
   {
      "custom_data": {
         "age": 25
      },
      "db_id": 94,
      "profile_id": "608a8960e3224a6be26a71df"
   }
]
When profiles are merged, it contains matching data about the profiles that must be merged.


When a profile is split, it contains matching data about the profile that must be split.

Channel events​

For events of the following channels:

  • Telegram: telegram_bot_send, telegram_bot_deliv, telegram_bot_click, telegram_bot_uclick, telegram_bot_undeliv, telegram_group_send, telegram_group_deliv, telegram_group_click, telegram_group_undeliv
  • MAX: max_bot_send, max_bot_deliv, max_bot_click, max_bot_uclick, max_bot_undeliv, max_group_send, max_group_deliv, max_group_click, max_group_undeliv
  • WhatsApp: whatsapp_deliv, whatsapp_undeliv, whatsapp_send, whatsapp_click, whatsapp_uclick, whatsapp_subscribe, whatsapp_read, whatsapp_unsub
  • Viber: viber_deliv, viber_undeliv, viber_send, viber_click, viber_uclick, viber_subscribe, viber_read, viber_unsub, viber_complain
  • Notify: notify_deliv, notify_undeliv, notify_send, notify_click, notify_uclick, notify_subscribe, notify_read, notify_unsub, notify_complain
ParameterTypeExampleRequiredDescription
campaign_idint9YesCampaign ID in the Altcraft system
launch_idstring""YesCampaign launch ID
message_idint0YesMessage ID in the Altcraft system
resource_idint3NoResource ID in the Altcraft system
segment_idint80YesSegment ID, if available
send_message_idstring""YesSent message ID
full_message_idstring"fQIQs4FgAAEBIcARADkxODlKR8-gA"YesFull SendMessageID
citystring"Moscow"NoSubscriber city
browserstring"Firefox"NoBrowser and version
countrystring".ru"NoCountry in TLD format
devicestring"web"NoDevice
ipstring"10.9.0.14"NoSubscriber IPv4 address
latfloat55.244075NoGeographic latitude
link_urlstring"http://www.example.com"NoHTTP link the user was redirected to
lonfloat55.244075NoGeographic longitude
osstring"Linux x86_64"NoOperating system
postal_codestring"390000"NoSubscriber postal code
regionstring"Ryazanskaya oblast"NoSubscriber region
tzstring"Europe/Vaduz"NoSubscriber time zone
undeliv_codeint500NoDelivery failure error code
undeliv_messagestring"Content is required"NoError information
workflow_idint1NoScenario ID, if the campaign was launched from a scenario

Campaign error events​

For camp_error events:

ParameterTypeRequiredExampleDescription
campaign_idintYes9Campaign ID in the Altcraft system
error_codeintYes500Error code
error_textstringYes"LOG_INTERNAL_ERROR"Error text
launch_idstringYes""Launch ID
message_idintYes0Message ID in the Altcraft system
resource_idintYes3Resource ID in the Altcraft system
segment_idintYes80Segment ID, if available
send_message_idstringYes""Sent message ID
full_message_idstringYes"fQIQs4FgAAEBIcARADkxODlKR8-gA"Full SendMessageID

campaign_launch structure​

General campaign_launch structure:

ParameterTypeRequiredExampleDescription
event_typestringYes"campaign_launch"Event type
event_datestringYes"2018-03-25T13:13:19.034315796Z"Event date in RFC 3339 format
account_idintNo23Platform account ID
is_testboolYesfalseTest event sending flag
is_staticboolNotrueWhether dynamic substitutions were used in the sent content
is_historicalboolYesfalseWhether the event is historical
event_dataJSON objectYes{}Object with campaign data

event_data structure for campaign_launch​

ParameterTypeRequiredExampleDescription
campaign_idintYes42Campaign identifier
workflow_idintNo1Scenario ID, if the campaign was launched from a scenario
scampaign_idintNo1Campaign ID in the Altcraft system
campaign_sub_idstringYes"x11"Statistics identifier
campaign_namestringYes"name"Campaign name
campaign_typestringYes"broadcast"Campaign type
data_typestringYes"segment"Data source type
data_idintYes3Data source identifier
launch_idstringYes"00000017000003cd5a9bf01a"Launch ID
contentJSON objectYes{}Information about campaign message templates

Campaign launch event example​

{
"event_type": "campaign_launch",
"event_date": "2016-12-09T10:11:24.934079204Z",
"is_test": false,
"account_id": 161,
"event_data": {
"campaign_id": 1472,
"campaign_type": "broadcast",
"campaign_name": "Campaugn Launch Hook",
"campaign_sub_id": "x11",
"data_type": "segment",
"data_id": 1221,
"launch_id": "000000a1000005c0584a834c",
"content": [
{
"message_name": "Hello",
"message_id": 1412,
"suppress_id": 271,
"replyto_email": "",
"replyto_name": "",
"text": "текстовая версия письма",
"html": "<html> html версия письма </html>",
"from_name": "",
"from_email": "",
"attach_links": [],
"subject": "Hello, {your_name}!"
},
{
"message_name": "Hi",
"message_id": 1413,
"suppress_id": 272,
"replyto_email": "monty@altcraft.com",
"replyto_name": "Monty",
"text": "текстовая версия письма",
"html": "<html> html версия письма </html>",
"from_name": "",
"from_email": "",
"attach_links": [
{
"name": "text_file.txt",
"url": "http://test.altcraft.com/api/attach/link/text_file.txt?token=eyJh..."
},
{
"name": "picture_file.png",
"url": "http://test.altcraft.com/api/attach/link/picture_file.png?token=eyJh..."
}
],
"subject": "Hi, {your_name}!"
}
]
}
}

Subscription structure​

This object contains information about the subscription to the resource through which the message was sent.

Required fields

The following fields are required for the subscription structure: resource_id, channel, priority, status, ccsub.

ParameterTypeExampleDescription
Common for all channels
resource_idint12Resource ID
channelstring"email"Communication channel
priorityint0Subscription priority
statusstring"subscribed"Subscription status
cc_subJSON object{"custom_key": "custom_value"}Object with custom channel subscription fields. If there are no fields, it takes the value null
For the email channel
emailstring"john@example.com"Subscriber email
For the SMS channel
phonestring"+79991112233"Subscriber phone number
For the push channel
providerstring"YandexAppMetricaDeviceIDAndroid"Push provider
subscription_idstring"123ab667960efec47b1afe64b56bfa386a3"Provider subscription ID

content structure​

If the "Add messages content" option is enabled in the webhook settings, the content field is added to the general hook message structure.

For Push and Viber, content is not transmitted. For Telegram, content fully depends on the template.

Email​

{
"content": {
"amp": "<html amp4email></html>",
"from_email": "no-reply@altcraft.com",
"from_name": "Altcraft",
"html": "<html></html>",
"replyto_email": "example@example.com",
"replyto_name": "Altcraft",
"subject": "Weather alert",
"text": "Text version",
"to_email": "profile@example.com",
"to_name": "Fname Lname",
"webversion_email_html": "http://click.altkraft.com/0000/path.html",
"webversion_email_text": "http://click.altkraft.com/0000/path.txt"
},
}
ParameterTypeRequiredExampleDescription
from_emailstringYes"no-reply@altcraft.com"Sender email
from_namestringYes"Altcraft"Sender name
htmlstringYesHTML version of the email
replyto_emailstringYes"example@example.com"Reply-to email
replyto_namestringYes"Altcraft"Reply-to name
subjectstringYes"Weather alert"Email subject
textstringYes"Text version is important..."Text version of the email
to_emailstringYes"profile@example.com"Recipient profile email address
to_namestringYes"Fname Lname"Recipient profile name
ampstringNoAMP version of the email
webversion_email_htmlstringYeshttp://click.altkraft.comLink to the web version of the email
webversion_email_textstringYeshttp://click.altkraft.comLink to the text web version of the email

SMS​

{
"content": {
"fromnamesms": "abcdefghijklmnqrstuvwxyz",
"sms": "Hello, Aaron! See the new items for you: http://click.altkraft.com/s/path",
"webversion_sms_text": "http://click.altkraft.com/000000/path.txt"
}
}
ParameterTypeRequiredExampleDescription
fromnamesmsstringYes"abcdefghijklmnqrstuvwxyz"Caller ID
smsstringYes"Follow the link and claim your welcome bonus!"Message text
webversion_sms_textstringYeshttp://click.altkraft.comLink to the web version of the message

WhatsApp​

ParameterTypeRequiredExampleDescription
typestringYes"template"Message type
categorystringYes"marketing"Message category
namestringYes"welcome"Template name
languagestringYes"en"Template language
namespacestringYes"xxx"Template namespace
wa_account_idstringYes"123456"WhatsApp account ID
componentsarrayYes[...]Message components

MAX​

ParameterTypeRequiredExampleDescription
textstringYes"Hello!"Message text
buttonsarrayYes[...]Message buttons
disable_link_previewboolYestrueDisable link preview

Push​

{
"content": {
"app_push_settings": {
"background_color": "#00CED1",
"badges": 0,
"banner": "",
"critical_push": false,
"deliver_prior": 0,
"expir_time": 604800,
"led": "",
"media": "",
"silent_push": false,
"sound": "",
"subtitle": "",
"vibro": false
},
"body": "See if our new items are fit to make you even more awesome!",
"click_url": "https://click.altkraft.com/0000000",
"custom_push_json": {},
"icon": "",
"result_content": {
"content_available": true,
"data": {
"hub_link": {
"ack": "https://pxl.altkraft.com/crypto_post_events?/bFOoNcxW7lpDA",
"open": "https://pxl.altkraft.com/crypto_post_events?/LbFOoNcxW7lpDA"
},
"image": "",
"launch_id": "2_3J_4Z2ZTRaQr7p",
"mediaUrl": "",
"message": "See if our new items are fit to make you even more awesome!",
"uid": "fATFSGbgLjinkRE59ZXDOSd0BcAABARnhIxDBBAAAEbAQowRH"
},
"mutable_content": true,
"notification": {
"body": "See if our new items are fit to make you even more awesome!",
"click_action": "https://click.altkraft.com/0000000/abcdefghijklmnqrstuvwxyz",
"color": "",
"icon": "",
"sound": "default"
},
"title": "Just look, Alex! These are awesome!",
"priority": "normal",
"time_to_live": 604800,
"to": "5dbDUxVXHV"
},
"title": "Just look, Alex! These are awesome!",
"webversion_push_body": "http://click.altkraft.com/000000/path.txt"
}
}
ParameterTypeDescription
bodystringPush message body
click_urlstringClick-through link
custom_push_jsonJSON objectCustom JSON of the message
iconstringPath to the push message icon
titlestringMessage title
result_contentJSON objectStores the structure of data sent to the push service
webversion_push_bodystringLink to the web version of the push message
app_push_settingsJSON objectAdvanced settings for mobile push notifications
web_push_settingsJSON objectAdvanced settings for browser push notifications

app_push_settings structure​

ParameterTypeExampleDescription
background_colorstring#00CED1Push notification background color
badgesint0Event indicator
bannerstringhttp://example.com/path.img"Path to the banner image
critical_pushboolfalseEnables critical mode in the push notification
deliver_priorint0,1Delivery priority
expir_timeint604800Push notification TTL in seconds
ledstring#00CED2LED indicator color
mediastringhttp://example.com/pathPath to a local file in the application
silent_pushboolfalseEnables or disables silent mode
soundstring/sound/sound.mp3Path to a local file in the application
subtitlestring"Just for you!"Message subtitle (for iOS)
vibrobooltrueVibration when the push notification is received
soundlessbooltrueIndicates whether the push message will be accompanied by sound (used by providers: android firebase, android huawei, android rustore)
actionsarray
[
   {
  "label": "Open",
  "action": "https://example.com"
}
]
Buttons in push notifications

web_push_settings structure​

ParameterTypeExampleDescription
actionsJSON object[]The array contains push buttons: click-through link (action) + button text (label)
button_labelstring"Sure"Action button text (the value is passed only for the Safari provider)
large_imagestring"https://.altkraft.com/284834790/1/664c6da207767c769a/image.png"Path to the banner image
expir_timestring604800Push notification TTL in seconds
large_imagestring"https://click.example.com"Path to the local banner image

**Meta, which owns Instagram, Facebook, and WhatsApp, has been recognized as an extremist organization and banned in the Russian Federation.*
**Viber is a trademark of Rakuten Group, Inc. Blocked in the Russian Federation.

Last updated on Apr 30, 2026
Previous
Action hooks event types
Next
JSON batch request (HTTP POST action hook)
  • General structure
  • event_data structure
    • Campaign audience events
    • Tracking events
    • Messaging events
    • Pixel events
    • Popup events
    • Promocode events
    • Segment creation events during import
    • Events of merging multiple profiles or splitting one profile
    • Channel events
    • Campaign error events
  • campaign_launch structure
    • event_data structure for campaign_launch
    • Campaign launch event example
  • Subscription structure
  • content structure
    • Email
    • SMS
    • WhatsApp
    • MAX
    • Push
      • app_push_settings structure
      • web_push_settings structure
© 2015 - 2026 Altcraft, LLC. All rights reserved.