Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    Getting StartedAdministrator documentationFunctional characteristics
      Technology descriptionarrow
    • Architecture OverviewComponent Description
        Deployment schemesarrow
      • Basic schemeFail-safe schemeTypical Placement in Infrastructure
    System requirements
      Admin Panelarrow
      • Account areaarrow
        • Accountsarrow
        • Account UsersAccount Virtual SendersAccount Database Indexes
        TariffsExternal data configurationLDAPTasksSchedule JobsGlobal Stop ListsWebversion Store Policies
        Settingsarrow
      • Databases
          Accessarrow
        • AdminsAPI tokens
        Notifiers
          MTAarrow
        • Default rulesRetry rulesLock rulesBounce patternsStrategiesKeysISPsPools
      Nodes
        Sendersarrow
      • EmailSMSEvent generatorIntegration with SendsayENS: настройка сендера
        Reportsarrow
      • Audit JournalData Usage
        Toolsarrow
      • ARF decoderURL decoderSMID decoderLicense
      Platform installationarrow
    • Automatic installationManual installationRunning the platform in a Docker container
      Platform configurationarrow
    • Configuration fileDomain settingsLDAP access configurationSending Email via SMTP relayPixel and push domain configurationCluster and Replication SetupSystem notifications configurationProcesses UNIX sockets configurationHTTPS ConfigurationMigrating from MongoDB Community Edition to Percona Server for MongoDBAdding sender IP addressesDeduplication request settingsPostgreSQL database for account dataProxy server settingsKeycloak Integration with AltcraftGetting HTTP service statusesConfiguration MongoDB logs rotation
        Configuration of system constants and directoriesarrow
      • Filtering bot actionsDirectory of gender markers
      Platform maintenancearrow
    • Personnel requirementsPlatform maintenance processesPlatform updatingPlatform service monitoringBackup and recoveryTransferring the platform to a new serverCreating, deleting, and populating tables for statistics in ClickHouseUsage of the aktool utilityUsers and directories engaged by the platform
      Custom channels guidearrow
    • OverviewCreating and configuring a channelEntity field configurationTemplate languageEntities
        Pipesarrow
      • Pipe: Basic ConceptsResultErrorsLogPackUnpackHTTP RequestStore SetStore GetSelectorSQLEventerScheduler
        Pipelinesarrow
      • Pipeline: Basic ConceptsMessageScheduleListenerModerateStop
      Extraarrow
    • System page customizationSend Message IDИнструкция по миграции истории в ClickHouseInstructions for migrating history to ClickHouseUtility for importing push subscriptions to Firebase projectUtility for importing push subscriptions to Firebase project
    Processing HTTP/HTTPS traffic
      Administrator APIarrow
      • Accounts admin apiarrow
        • Restricted accessarrow
        • Account Activation and DeactivationAccount Freeze and Unfreeze
        Get accounts listAdd a new accountDelete the account
        Account usersarrow
      • Update an Existing AccountAdd a new accountDelete a userGet a list of usersSending a Welcome Email
        Nodesarrow
      • Synchronize node MTA configurationGet nodes listGet node MTA statusActivate node MTADeactivate node MTA
        Senders admin apiarrow
      • Create or update AKMTA senderGet AKMTA sender informationAssign account to senderGet senders listDelete senderRestore sender
          Sender queuearrow
        • Get sender queue informationHold sender queueRelease sender queueClear sender queue
        Virtual sendersarrow
      • Get virtual senders listGet virtual sender informationCreate virtual senderUpdate virtual senderClone virtual senderDelete virtual sender
    Documentation Archive
  • Technology description
  • Component Description

Component Description

Services​

API and Web Interfaces​

Services providing access to the Altcraft platform for users and administrators, as well as interaction with internal components.

  • api — the main API service (REST/HTTP) for working with Altcraft data and functions

  • webadmin — the admin panel for managing accounts, users, and system settings

  • webcontrol — the user panel for working with business logic: managing campaigns, mailings, and segments

  • webloyalty — the loyalty program module interface

Tracking and Analytics​

Services that collect, route, and process tracking events (clicks, opens, subscriptions, forms, etc.), as well as serve static content.

External request processing

  • cookie_saver — performs the following:

    • handles user cookies
    • serves scripts and resources for Web SDK, Push SDK, and unsubscribe logic in emails
    • processes requests from Web SDK and Push SDK
    • processes requests from custom unsubscribe logic in emails
    • processes website requests (web-layer pixels)
  • trk_amazon_sns — processes events from Amazon SES

  • trkaction — performs the following:

    • tracking redirects for Email, SMS, and Push channels
    • processes user and system links (unsubscribe, subscription confirmation, suppress, open/read pixel)
    • processes trigger links (start trigger campaign)
    • serves scripts and resources for the subscription manager
    • serves scripts and resources for web versions of emails
  • trkcustom — performs the following:

    • tracking redirects for custom channels
    • processes user and system links (unsubscribe, subscription confirmation, suppress, open/read pixel)
    • supports custom trigger links
  • trkimage — image request handler, serves static images (e.g., inline in emails)

  • trklisten — request handler for third-party services (integrations)

  • trkpush — tracking redirect service for Push channel (deprecated)

  • trkread — message read event processing service (deprecated)

  • trkwebctrl — performs the following:

    • processes events in web forms and popups
    • serves scripts and resources for the Altcraft tag manager, popups, and web forms
    • processes user actions in web forms and popups

Event aggregation and routing

  • procactions — processes tracking events (opens, clicks, subscriptions), updates profiles, generates events for proctrigger and prochook

  • procpixel — processes web-layer pixel events, imports and updates profiles, generates events for proctrigger and prochook

  • procpush — processes Push channel events, imports and updates profiles, creates push events

  • procsenderev — processes events from senders: deliveries, bounces, returns, responses (deprecated)

  • procsmsev — processes outgoing SMS gateway events, polls gateways, generates events for proctrigger and prochook

  • procsmslisten — processes incoming SMS gateway events, receives provider hooks, generates events for proctrigger and prochook

  • proctrkweb — processes web form and popup events, writes data to the database, generates events for proctrigger and prochook

  • procwebver — saves web versions of emails to storage

  • procrpc — RPC service for receiving and processing requests from tracking services

Tasks​

Persistent services for scheduling and executing tasks:

  • procworkflow — processes and executes workflow tasks

  • proctask — schedules and runs background tasks (segment calculations, campaign launches, etc.)

Worker services (started on demand for specific resource-intensive work and stopped afterward):

  • campaign — manages execution of mass campaigns: preparing content and sending it to the message queue (broker) for further processing by senders

  • segstat_recalc — recalculates static segments

  • rescan_databases — recalculates statistics and metrics of profile databases

  • dbimport — scheduled profile import from external SQL tables

  • wfcapt — captures profiles into a workflow on schedule

  • segstat_sync — synchronizes static segment data with external advertising platforms and audiences (e.g., Facebook, VK)

Data Processing​

Services for internal data processing, integrations, and subscription management.

  • procresume — manages subscriptions: automatically unfreezes (resumes) subscriptions for profiles after suspension expiration

  • proctrigger — processes and manages trigger (event-based) campaigns

  • prochook — manages outgoing webhooks: generates and sends notifications to external systems based on Altcraft events

  • procpiper — processes pipelines and data in custom (user-defined) channels

  • procleadsaver — performs the following:

    • background operations with profiles and data
    • deferred profile updates and imports
    • asynchronous counter updates in databases and segments
    • add/remove profiles in static segments (in development)
    • mark profiles in supercampaign audiences (in development)
  • procevent — performs the following:

    • writes events to the analytics storage
    • generates and routes events for proctrigger and prochook
  • proceventgen — generates test events for debugging and testing Altcraft

  • procintegras — performs the following:

    • manages integrations and message delivery
    • integrations with external analytics services (AppMetrica, Facebook Audiences)
    • synchronizes segments with external SQL databases
    • sends messages through all SMS gateways
    • sends messages through third-party Email gateways
    • sends Push notifications
  • procplmt — performs the following:

    • manages indirect campaigns in custom channels
    • processes moderation events in custom channels
    • automatically unpublishes after TTL (Time to Live) expiration

Proxy​

Separate Nginx instances for proxying network traffic to Altcraft services.

  • nginx-trk — proxies and routes requests to tracking services

  • nginx-sites — proxies requests to API and web interfaces

  • nginx-cookisaver — proxies requests to the cookie_saver service

Databases​

Main databases that require independent installation and maintenance.

MongoDB​

Primary DB for storing all account entities: customer data, users, campaigns, templates, settings, and other common data required for Altcraft operation.

https://www.mongodb.com/

ClickHouse​

ClickHouse — an analytical DBMS used to store subscriber activity history and Altcraft events (and in some cases for caching external SQL query results). These data are used for building segments and generating reports.

https://clickhouse.com/

Kvrocks​

Key-value store used for deduplication (contact data) in campaigns.

https://github.com/apache/kvrocks

SSDB​

Key-value store used for storing short-term hourly account statistics and global stop lists (based on MD5 hashes of contact data).

https://github.com/ideawu/ssdb

PostgreSQL​

Installed and connected additionally for the marketplace module, used for storing product and order data.

https://www.postgresql.org/

Bundled Databases​

Delivered as static files with Altcraft, do not require separate installation or management.

SexDB​

Used for automatic gender detection by profile name during data import.

GeoDB​

Used to determine geolocation by IP address.

BadPass​

Used to detect weak and compromised user passwords.

Message Brokers​

RabbitMQ​

The main message broker, used for various interactions between Altcraft services.

https://www.rabbitmq.com/

Last updated on Mar 27, 2026
Previous
Architecture Overview
Next
Deployment schemes
  • Services
    • API and Web Interfaces
    • Tracking and Analytics
    • Tasks
    • Data Processing
    • Proxy
  • Databases
    • MongoDB
    • ClickHouse
    • Kvrocks
    • SSDB
    • PostgreSQL
  • Bundled Databases
    • SexDB
    • GeoDB
    • BadPass
  • Message Brokers
    • RabbitMQ
© 2015 - 2026 Altcraft, LLC. All rights reserved.