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 updateCommon Errors When Importing ProfilesScheduled customer data importManaging Data TablesAutomatic 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
        • First Mobile Push MailingНастройка и подключение
            Провайдеры Mobile Pusharrow
          • Apple Push Notification ServiceYandex.AppMetricaFirebase Cloud MessagingHuawei Mobile ServicesRuStore
            Integrate your app with Altcraftarrow
          • Обработка и добавление подпискиРегистрация событийПровайдеры: структура push-сообщения
          Web Pusharrow
        • First Web Push MailingResource and Website Setup
            Web Push Providersarrow
          • Firebase Cloud messagingApple SafariMozilla Services
          Transferring Data to the PlatformWeb Push SDK MethodsPWA and Push Notifications
            Migration and Subscription Transferarrow
          • Migrating push subscriptions from third-party servicesHow to transfer push subscriptions configured for Safari?Migration from OneSignal
        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
      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 systemsCreating a loyalty program from scratchBasic 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 up a trigger mailingEvent registrationGoogle Sheets and Altcraft integration AmoCRM and Altcraft integration
      Facebook Ads Manager™Google Ads AudiencesMAXYandex.Audience™VK AdsStatic 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 typesVariable 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.2.77v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
    Documentation archiveEmail Marketer's Library
      Campaignsarrow
    • Working with CampaignsLocal control groups (LCG)Stratification Violation ErrorAudience expansionAudience building
  • Changelog
  • v2026.2.77

v2026.2.77

v2026.2.77.189 — IDigital Direct API integration and improvements​

This update adds a new SMS provider — IDigital Direct API, accelerates static segment recalculation, and optimizes PostgreSQL operations and the scenario editor.

IDigital Direct API SMS provider integration​

This update adds support for a new SMS provider — IDigital Direct API.

When configuring a sender for this provider, you need to specify a token for API authorization.

Supported:

  • Request format — JSON array (batch sending up to 1000 messages)
  • Callback statuses: delivered, undelivered, unsent
  • Retry logic for HTTP codes 429, 500, 502, 503 (exponential backoff)

If needed, the sending URL can be overridden via the SMS_IDIGITAL_CUSTOM_SENDING_URL configuration parameter.

Improved​

  • The recalculation of static segments was accelerated.
  • Improved error messages when calculating a global control group with stratification.
  • Optimized the PostgreSQL database process, simplifying compliance with information security requirements when deploying the platform.
  • Added the ability to automatically clean up old files in the download_taskreport directory.
  • Added localized messages for new error types in the mailing log.
  • The scenario editor performance has been improved.
  • Improved interface:
    • the sender queue view button is now only displayed for Email channels;
    • the list of product segments now correctly shows the user who last updated the segment.

Other​

  • Fixed the passing of custom_data fields to event capture when launching a scenario via the workflows/start API.
  • In the mailing testing section, a test profile is now created only if there is at least one subscription.
  • When deactivating a global control group, the ability to remove profiles from the group has been added, and the system will register an exit event.
  • Fixed the execution of the point_trc_migrate points transaction migration for ClickHouse in replicated mode.
  • Importing templates via archive no longer results in http being substituted into image links, reducing the risk of emails going to spam.
  • In scenarios, when configuring a "Scheduled segment", the selected launch month is now correctly saved. Selection of past dates is prohibited.
  • Fixed error display when no profiles match the stratification conditions in the global control groups interface.
  • Fixed the default value substitution for numeric fields using a predefined list of values in custom channels.
  • Fixed an issue where profiles with a large number of additional fields were not added to the loyalty program.
  • In the "Update static segment" scenario node, only segments from the current profile database are now available for selection.
  • In analytics reports, deleted loyalty program group levels no longer appear as empty lines — their status and ID are now visible.
  • Fixed an issue where profiles were not captured into a scenario when switching the trigger condition from "Click on link in Email" to "Any click in Email".
  • When creating indexes in the Admin panel, the _xxh field can now be manually selected from the general field list instead of being automatically added via a separate checkbox.
  • When changing the schedule type in broadcast mailings, incompatible options are no longer saved.
  • In segments, user fields are no longer replaced by system fields when creating selection conditions.
  • Fixed the display of procmarket and webmarket process versions.
  • Added new conditions to segments for selecting profiles based on exclusion from the global control group.
  • Fixed the issue with selecting resources and segments in segment conditions for users with limited permissions.
  • Fixed an issue where only numeric values were written to a field of type "List" when importing profiles via API.
  • Fixed profile capture into a scenario when activating a pixel with the "contains" or "does not contain" selection condition.
  • Improved the event capture interface for custom channels: eliminated the ability to select an event that is not processed by hooks.
  • Fixed the issue with campaign activation when one of the MongoDB replica members is unavailable.
  • Attribute fields with editing restrictions in active objects are now correctly disabled after activation.
  • Fixed the "for the last X days" condition in segments: value 1 now correctly selects events only for the current day.
  • Fixed slow processing of the hook_events queue when capturing events with message content.
  • Fixed an issue where synchronization of static segments with Facebook Ads Manager did not work when selecting the "External identifier" data type.
  • When sending a broadcast mailing by profile time zone, if no matching profiles are found, the message "No profiles found for the selected time zones" is now displayed.
  • Fixed the display of field headers in segment conditions — the headers defined in the segmentation query are now used.
References

v2026.2.77: PL-18253 PL-19527 PL-20943 PL-20994 PL-21310 PL-21505 PL-21515 PL-21579 PL-21610 PL-21698 PL-21704 PL-21749 PL-21769 PL-21783 PL-21786 PL-21794 PL-21806 PL-21819 PL-21821 PL-21826 PL-21851 PL-21857 PL-21858 PL-21860 PL-21868 PL-21879 PL-21880 PL-21885 PL-21899 PL-21909 PL-21922 PL-21929 PL-21931 PL-21934 PL-21937 PL-21949 PL-21967 PL-21970 PL-21988 PL-22007 PL-21198 PL-18441 PL-18398 PL-8898 PL-18381 PL-21870 PL-21596 PL-21990 PL-12550 PL-17566 PL-21192 PL-21773 PL-21517 PL-21796 PL-21442 PL-20763 PL-20475 PL-21745 PL-21834 PL-21965 PL-21953 PL-21713 PL-21847 PL-20466 PL-19945


v2026.2.77.941 — Optimization, escape function​

This update brings extensive optimization of internal platform processes: segmentation, template handling, external SQL queries, and sending workflows have all been accelerated. The escape function for variable escaping and new configuration parameters for controlling segment calculation intervals have been added. The platform is now more stable and faster.

Added​

  • Added the escape function for escaping variables in templates and scenarios. It allows passing strings containing variable syntax (e.g., {lead.email}) without substitution — the content inside {escape "..."} remains as-is. Learn more and see usage examples here.
  • Added the SCHEDULE_RUN_INTERVAL_MIN and WFCAPT_SCHEDULE_RUN_INTERVAL_MIN parameters for optimizing segment calculation in scenarios. They set the minimum allowed interval for launching segment calculations in scenarios.

Improved​

  • The subscribers/history_get API endpoint now supports pagination: the limit and from_id parameters allow retrieving profile events page by page, and the next_from_id field in the response indicates which event to continue from. By default, events for the last 30 days are returned (limit — 1000 events). If only date_to is specified, the left-side date restriction is removed. More details: Get the history of a single profile.
  • The launch log in the "Scheduled profile segment capture" scenario node has been improved: a column showing the segment calculation status and the calculation completion time has been added.
  • The block template editor performance has been optimized.
  • Some visual elements of the platform have been improved, and some tooltip phrasings have been updated.
  • Message sending via the Notify channel has been improved.
  • External segmentation queries have been optimized: when using SQL queries to external databases with large data volumes, the segment formation time has been reduced from several hours to several minutes.
  • The templates/add and templates/get API methods have been optimized.
  • Subscription field handling in custom channels has been fixed: optional fields can now be empty, which matches the behavior when creating a subscription via the interface. Unsubscription via API works correctly for subscriptions with empty fields.

Other​

  • Fixed the import of profile files exported from the platform when spaces are present in the data.
  • Fixed the display of empty pages in a segment when it contains no profiles.
  • Loyalty program transactions in the profile card are now sorted correctly.
  • Fixed the schedule in a scheduled segment — correct values can now be set.
  • Added the List-Unsubscribe-Post header and DKIM signatures to emails sent via AKMTA.
  • Fixed the handling of a number passed to an enum field via API — it is now interpreted as a value, not as an index.
  • Column names from Hive queries are now correctly parsed in templates.
  • Fixed an error when using a "Month" type variable in segments.
  • Profiles can now be sent to a scenario from a dynamic segment without saving it first.
  • Fixed an error when duplicating values in a capture condition based on a "Tag" type field change in scenarios.
  • UTM tags are now correctly saved in the profile when clicking a link from an email.
  • Fixed the layout of the weekly report.
  • Inherited attributes are now correctly passed through a custom channel.
  • Fixed an error in the /tasks list.
  • Entity search by attributes in segmentation has been optimized.
  • Fixed the activity toggle when deactivating scheduled profile imports.
  • Eliminated infinite loading when configuring order segmentation in the loyalty program.
  • Fixed the segmentation condition fields "hit from [n] to [m] times within [x] days/period".
  • Fixed the issue of returning to the beginning of the mailing list when switching between pages.
  • Fixed incorrect display of banners in the campaign editor.
  • Placement campaigns now pass validation when saved.
  • Fixed the calculation of an updated segment with the condition "No N orders meeting all conditions" and a product segment.
  • Fixed button descriptions in the interface.
  • Updated the error message when activating a loyalty program if an active program with the same database already exists.
  • Fixed the appearance of the parameter value panel when creating a segment with a segmentation query.
  • Fixed pagination in the table component.
  • In the segment builder, a single day can now be specified using the "Date/age relative to current date" field.
  • Fixed an error when changing the segmentation query in a segment: when replacing a query with parameters with a query without parameters, the old parameters are no longer saved along with the new query.
  • In forms, when opening a "List" element, the actions page is no longer blocked.
  • Error logs for "Condition" nodes in scenarios now display the scenario and node IDs.
  • Fixed a memory leak in the procpiper process.
  • Buttons in Telegram Bot and Group now contain correct links.
  • The CallerID is now pulled into the SMS template preview.
  • In multivariate tests, the tested audience limit has been fixed.
  • Attribute values can now be selected in Viber, WhatsApp, Notify, and MAX templates.
  • proctask now correctly sends scheduled broadcast mailings.
  • Eliminated the non-clickable "Parts" tab in visual template editor variables when no parts have been created.
  • Fixed the display of profile counters for accounts in the admin panel.
  • Fixed the display of long names in the breadcrumb top header.
  • Fixed errors in the campaign editor.
  • The format variable is no longer automatically replaced with formatdate when saving a template.
  • Added profile database validation for connected static and updated segments.
  • After a platform update, field mappings in scheduled import settings are no longer reset.
  • Fixed the default value for the "Week" type parameter when creating a segment with a segmentation query.
  • For scenarios, the user who updated them is now correctly recorded.
  • Links with the no-track attribute containing the } character at the end are now handled correctly.
  • Fixed the campaign launch date and time setting when creating from the calendar.
  • Long field names in order segments no longer extend beyond the form boundaries.
  • Eliminated an empty popup when creating a loyalty program level with an additional identifier.
  • The language switch script on the unsubscription page now works correctly.
  • Fixed documentation links in the platform.
  • Eliminated a JS error when saving templates via the visual beta editor.
  • The trigger mailing launch delay time is now displayed correctly.
  • Fixed the narrowing of the update log table when re-expanding in updated and static segments.
  • Segments with segmentation queries are now saved correctly.
  • In the "Date in range" condition, a "to" date earlier than today can now be selected.
  • Line breaks are now displayed in the MAX template preview.
  • Eliminated a JS error when clicking the automatic UTM tag insertion button in a template.
  • Fixed the renaming of segment groups.
  • Fixed an error when opening a segment after deleting the associated profile database.
  • Product segment recalculation can now be interrupted even when proctask crashes.
  • Updated the loyalty condition texts inside the segment builder.
  • Eliminated the overlap of page blocks in the form logic editor.
  • Fixed link creation on triple click.
  • Fixed errors related to the loyalty program.
  • The template editor no longer attempts to load pixels from non-existent URLs.
  • Fixed the display of the control group membership tag inside scenarios.
  • Fixed the validation of repeated "Action Execution" nodes in scenarios.
  • The campaign popup in calendars now opens correctly.
  • Long names are now displayed correctly in the campaign log.
  • Fixed the operators in the complex User-agent pixel condition in the segment builder.
  • The segment is now saved when the script contains valid values.
  • Fixed an error when creating a test profile when the tariff is exhausted.
  • Added confirmation popups when removing entities from lists.
  • The action_hook_fill.log log is now correctly rotated.
  • In the API node of scenarios, the Authorization header can now be set.
  • The ability to edit the category selection in filters of an updated product segment has been added.
  • Eliminated uncontrolled generation of data-placeholders when creating templates for segmentation queries.
  • Fixed the date format in the segmentation query and in the segment condition.
  • The selected launch method for a placement campaign is now displayed correctly when opened.
  • Links in breadcrumbs for nested Market entities now work.
  • Fixed the error text in the popup editor when platform variables are used incorrectly.
  • The "Attribute Value" variable is now substituted into URLs.
  • When adding a link to a text fragment, a checkbox for the confirmation link has been added.
  • Added a selection option in goal segmentation by complex condition.
  • webcontrol performance has been optimized.
  • Fixed the validation and editing of required attributes in the attribute editor.
  • Added Firebase JSON file validation when uploading to a resource.
  • Fixed user password validation in the interface and in the admin panel.
  • Updated the list of browsers supported by the platform:
    • Google Chrome, version 101 and above
    • Mozilla Firefox, version 102 and above
    • Microsoft Edge, version 101 and above
    • Opera, version 91 and above
    • Chromium, version 101 and above
    • Safari, version 15.0 and above
    • Yandex Browser, version 23.2 and above
References

v2026.2.77.941: PL-17761 PL-20895 PL-21643 PL-22018 PL-22052 PL-22039 PL-21855 PL-18603 PL-22085 PL-22012 PL-18684 PL-22102 PL-21689 PL-21512 PL-22021 PL-22053 PL-22035 PL-21178 PL-22028 PL-21947 PL-21576 PL-21573 PL-22016 PL-21986 PL-21291 PL-22095 PL-21539 PL-22051 PL-19111 PL-22080 PL-22071 PL-21799 PL-20995 PL-19748 PL-21055 PL-17177 PL-22069 PL-22078 PL-20161 PL-22079 PL-21150 PL-22066 PL-21540 PL-16016 PL-21587 PL-21932 PL-22006 PL-22033 PL-21985 PL-18477 PL-22048 PL-21734 PL-5820 PL-21691 PL-18275 PL-20561 PL-21944 PL-20996 PL-21467 PL-21674 PL-17466 PL-20676 PL-21179 PL-17297 PL-17450 PL-21437 PL-20905 PL-18251 PL-20898 PL-22061 PL-21843 PL-22057 PL-21096 PL-22055 PL-21859 PL-21854 PL-21525 PL-22041 PL-22037 PL-21672 PL-21312 PL-21268 PL-13622 PL-19090 PL-17409 PL-17995 PL-21778 PL-22029 PL-22008 PL-18958 PL-18423 PL-21946 PL-21770 PL-20785 PL-17147 PL-21918 PL-21878 PL-22020 PL-21984 PL-16252 PL-20375 PL-16594 PL-11413 PL-21584 PL-18197 PL-21580 PL-14392 PL-21642 PL-21506 PL-18579 PL-21973 PL-21948 PL-21976 PL-17169 PL-21963 PL-21930 PL-21900 PL-21044 PL-19611 PL-20721 PL-18820 PL-18780

Last updated on Jun 4, 2026
Previous
Changelog
Next
v2026.1.76
  • v2026.2.77.189 — IDigital Direct API integration and improvements
    • IDigital Direct API SMS provider integration
    • Improved
    • Other
  • v2026.2.77.941 — Optimization, escape function
    • Added
    • Improved
    • Other
© 2015 - 2026 Altcraft, LLC. All rights reserved.