Torgsoft officially supports integrations that are already implemented by the company and described in the software documentation and Torgsoft Online Market. Connections to other platforms can be developed by third-party integrators and developers. They create the exchange service, configure the workflow with the platform, and provide its support.
For third-party connections, the existing capabilities of Torgsoft are used: export of products, prices, stock balances, and client data, import of new orders, specialized options, and export of specific reports. There is no universal open API for arbitrary management of accounting documents in this scheme.
The guide defines what needs to be prepared on each side and how to distribute the work among the store owner, integrator, and developer. The tables separately indicate standard connections and scenarios for creating a third-party adapter.
Additional Torgsoft options can be activated for free for 30 days, in particular «Synchronization with an online store». Path in the program: Settings → List of additional functions → Activate for 30 days. After activation, restart Torgsoft.
The exception is — «Deletion of statistics of closed periods». For certain options, demo limits apply: for example, integration with Rozetka in trial mode includes up to 10 products in the XML price list. API access, platform subscriptions, hosting, and adapter development are registered separately. The term for development and access approval is determined independently of the trial period.
1. How to organize the exchange and who is responsible for what
Adapter — a separate program or site module that converts Torgsoft files into requests to the external service API and prepares files of new orders for Torgsoft. The platform API provides allowed operations with its products, orders, or contacts. Feed — a catalog file that the service downloads via a link or accepts through its import mechanism.
The connection consists of two parts. The integrator configures export and import in Torgsoft. The developer creates or installs a compatible module on the site, CRM, or marketplace side. Activating the option provides Torgsoft capabilities within its documentation; the third-party exchange service performs data conversion and works with the API of the selected platform.
| Participant | What they prepare | What they are responsible for |
|---|---|---|
| Store owner | Seller cabinets, products, warehouse, currency, pricing rules, payments, reservations, and shipments. | Access to the platform, reliability of accounting, allowed products, and the agreed workflow of employees. |
| Torgsoft integrator | Options, synchronization objects, file fields, accounting centers, payment accounts, schedule, and notifications. | Configuring the program and checking created documents, reserves, prices, and task execution. |
| Adapter developer | Platform application, authorization, product mappings, format conversion, logging, and recovery. | API operation, completeness of transmission, protection against duplicate import, and interface compatibility. |
| Server administrator | Exchange directories, permissions, encrypted transport, service startup, backups, and monitoring. | Operation after restart and separation of service data from public feeds. |
| Order manager | Order verification, picking, confirmation of payments, shipments, cancellations, and returns. | Actions left manual and reconciliation of exceptions not processed automatically. |
One person can perform several roles. In the technical specification for each area, the executor and the result by which the work is verified are still defined.
Directions of data transfer
| Direction | Torgsoft mechanism | Adapter action | Scenario limits |
|---|---|---|---|
| Torgsoft → catalog | CSV/YML and photos. | Matches products, prepares platform fields, updates cards, prices, and quantities. | New cards require categories, characteristics, and other mandatory platform data. |
| Platform → new order | Import SAL/XML/JSON. | Receives orders, checks items, and forms a file with the SaleType value. | The format determines the creation of an order or invoice, payment, and shipment according to the provided scenario. |
| Torgsoft → contacts | TSClients.trs by configuration. | Selects allowed fields and brings them to the CRM or mailing structure. | The presence of a contact does not establish consent to promotional mailings. |
| Torgsoft → analytics | Product file and export of specific reports. | Loads files into a table or analytical model. | Sales history is not included in the product file. The export of each report is defined separately. |
Transferring the catalog does not include receiving orders. Importing a new order does not provide a universal command to change an already created invoice, return, or financial operation. For such actions, the capabilities of a specific standard integration or a separate process in the Torgsoft interface are used.
Three ways to connect
- Standard integration. The owner activates the option or TOM module, the integrator configures it according to the instructions. The list of operations is defined by the connection documentation.
- Third-party adapter. The integrator prepares the Torgsoft file exchange, the developer works with the API or platform feed and generates order files.
- Connection via a site or CRM. Torgsoft exchanges data with one system that has connectors to other channels. The developer determines the order routing, the source of stock balances, and the reservation rules for all links.
For each channel, one routing for incoming orders into Torgsoft is defined. For example, marketplace orders are transmitted by a direct adapter or via CRM. Simultaneous import through both routes requires a common mechanism for eliminating duplicates.
2. What to prepare in Torgsoft and how to read its files
The basis of the adapter is the format for synchronizing an online store with Torgsoft. The settings are described in the option instructions. Prior to development, the integrator passes the actual product file, export settings, and the database version number to the developer.
2.1. Preparing the synchronization object
- Activate «Synchronization with an online store» and open Warehouse → Synchronization with an online store.
- Create an object with the channel name. Select the accounting centers for export and the center from which orders are placed.
- Determine the price source for the invoice: Torgsoft or the online store. To save the purchase price on the platform, check «For invoice products, take prices from».
- Agree on reservation, handling of missing quantities, and the account or cash register for payments.
- Set fields, file names, encoding, client transfer, and the photo delivery method.
- Configure the exchange address, manually transfer test products, and download one order.
- After verification, enable the schedule and notifications for the responsible employee.
On the «Clients» tab, search by phone, creation of new clients, and updating of their data are checked. The developer transmits the phone in the agreed international format. Searching by phone does not replace the order key and does not protect against re-creating the document.
2.2. File delivery: FTP with TLS or web server directory
| Method | Torgsoft Settings | Work of administrator and developer |
|---|---|---|
| FTP with SSL/TLS | Server address, login, password, directory, and «Use SSL/TLS encryption». | Configure a compatible FTP server and TLS. Check passive mode, write permissions, uploading, and deleting. Confirm encryption during exchange. |
| Web-server: information | Directory of product, client, and other data files. Here the program also looks for order files. | Provide the adapter access to the directory. Create a secure gateway for external access; HTTPS and authorization are provided by the web server. |
| Web-server: photos | Photo directory from Torgsoft parameters. | Organize access to images. For this method, photos must be stored in the directory. |
The «Web-server» type works with files in a specified directory. It does not create a universal REST API for Torgsoft. SFTP is a different protocol; its support in Make, n8n, or a marketplace does not mean support in the selected Torgsoft delivery method.
Directories for the product feed, orders, contacts, and certificates are separated by access rights. Behind the public URL of the advertising system, only the allowed product file and images are placed.
2.3. Products, prices, stock balances, and photos
TSGoods.trs — is the typical name for a CSV with a ; separator. The fields, their names, order, header, and filename are customizable. An alternative format is YML, an XML catalog with a corresponding tag structure.
| Data | Integrator actions | Developer actions |
|---|---|---|
GoodID |
Includes the product key for export. | Matches the key with the platform product or variant and sends it back in the order. Distinguishes databases of different stores. |
Articul, Barcode |
Checks articles, barcodes, and duplicates. | Uses for primary mapping with SKU. Substitutes GoodID for importing a product item. |
| Name, description, manufacturer, categories, dynamic characteristics | Fills in cards and includes the necessary fields in the file. | Matches categories and characteristics with the platform's classifier. Adds mandatory data missing in the export. |
RetailPrice, WholesalePrice, promotional and currency prices |
Selects the price type and invoice price source. | Applies channel currency, markup, and rounding. Saves the actual purchase price and checks the order total. |
WarehouseQuantity |
Checks the inclusion of accounting centers and reserves in the file. | Calculates channel availability according to the agreed rule. Accounted reserves are not subtracted again. |
WarehouseQuantityForPartner |
Includes quantities by accounting centers. | Parses 2=1,000|3=2,000: center code and quantity. Matches codes with platform warehouses. |
ModelGoodID, color, size |
Prepares models and separate warehouse variants. | Matches each variant. Saves sizes or colors with separate balances as separate warehouse items. |
GoodPhotoList, GoodPhotoListWithLinks |
Configures the photo directory, filenames, and link prefix. | Checks URLs and image requirements. Uses the designated mode for storing photos in the directory for these fields. |
The CSV parser is configured according to the actual export: separator, headers, encoding, quotes, and numbers. Special characters are checked on a test file. In UTF-8 mode, Torgsoft generates a product CSV with a BOM — a service encoding mark at the beginning of the file; the adapter must process it.
Torgsoft's YML is not a ready-made feed for every service. The developer checks the root element, mandatory tags, characteristics, languages, and the recipient's ID. For example, Hotline uses its own XML structure, and marketplaces require category codes and characteristic values.
2.4. New order format
Torgsoft accepts text files .sal. From DB version 493, XML and JSON in UTF-8 are also supported. For SAL, the synchronization object's encoding is used; in UTF-8 mode, a BOM is required. The filename is composed of ASCII characters: Latin letters, numbers, and safe separators.
API data is converted into the Torgsoft schema: the buyer goes into Client, parameters into Options, items into Goods. Mandatory fields: Client.Name, Options.OrderNumber, Options.SaleType, and GoodID, Price, Count for each product.
JSON example with conditional data for a pre-order:
{
"Client": {
"Name": "Тестовий покупець",
"MPhone": "+380670000000",
"EMail": "buyer@example.com"
},
"Options": {
"OrderNumber": "SHOP-A-100042",
"SaleType": "1",
"OrderDate": "2026-10-05 12:00:00",
"CurrencyInternationalCode": "UAH",
"Comment": "Тестове замовлення зовнішнього каналу"
},
"Goods": [
{ "GoodID": "201", "Price": "1290.00", "Count": "1" },
{ "GoodID": "202", "Price": "350.00", "Count": "2" }
]
}
Before loading, the integrator substitutes real GoodIDs of the test database and checks documents in the program. The developer generates a stable OrderNumber from the channel code, store, and external ID. The numbers of different orders and stores must not match.
Additional fields transmit address, delivery, reserve date, currency code, trade type, and accounting center. Availability depends on the DB version. WarehouseID is taken from Torgsoft; the marketplace warehouse code requires mapping. The purpose of WarehouseID in the general parameters and the product row is described in the exchange format.
| Field | Format and purpose | What to agree on |
|---|---|---|
Options.OrderDate |
Order date: yyyy-mm-dd hh:mm:ss. |
Store time zone and API time conversion to the agreed local time. |
Options.ReserveDate |
Reserve date: ddmmyyyy, for example 05102026. |
Reservation period and behavior after its expiration. |
Options.CurrencyInternationalCode |
International currency code. In the absence of the field, processing takes place in the national currency. | Order currency, accounting settings, and exchange rates if recalculation is required. |
Options.SaleForm |
1 — wholesale, 2 — retail; a missing or incorrect value means retail. |
Trade type and invoice price source. |
Options.WarehouseID, Goods[].WarehouseID |
Invoice accounting center and writing-off center of an individual product item. | Real center codes from Torgsoft and multi-warehouse order processing. |
Options.BonusPay, Options.GiftCertificate |
Bonus payment amount and a list of used certificate numbers separated by commas. | Enabled options, corresponding sync settings, checking available balance, and deduction result. |
Options.DeliveryCondition, Options.DeliveryAddress |
Delivery condition and text address. | Filling in these fields and separate structured carrier parameters. |
2.5. SaleType: what documents the import creates
| SaleType | Result | What is checked |
|---|---|---|
1 |
Pre-order, based on which an invoice can be created. | Who checks the order and issues the invoice. Suitable for the first import test. |
2 |
Invoice with 100% prepayment. | Full payment, amount, receipt account, and accounting settings. |
3 |
Invoice with 100% prepayment and shipment, creation of a waybill. | Full payment and the moment of accounting shipment. The «paid» status does not confirm the transfer of the parcel to the carrier. |
4 |
Invoice without payment, with shipment and creation of a waybill. | The basis for shipment without prepayment and further settlement accounting. |
5 |
Invoice immediately; a pre-order is not created. | Who carries out the payment, reservation, and shipment according to the invoice. |
For SaleType 2–5, the documentation assumes the availability of all required quantity in the accounting center. If the product is missing, the sale may result in a negative balance. Before automatic document creation, quantities and rules of action for shortages are checked.
The comment «paid» does not process the payment. SaleType does not refund funds in the payment service. The developer and integrator agree on the platform event, document type, receipt account, and further actions of the employee.
2.6. Clients, wholesale prices, and certificates
According to the settings, Torgsoft exports TSClients.trs: full name, contacts, address, client card, discount, amount for its calculation, and accumulated bonuses. The developer determines the matching key and sends only the necessary fields to the recipient. Purchase history is not included in this file.
The «Wholesale pricing policy» option adds an XML with quantity thresholds and prices. For certificates, a CSV TSGiftCertificate.trs is provided. The recipient must implement the appropriate pricing or loyalty rules.
Used bonuses and certificates are transferred in the order via BonusPay and GiftCertificate. The integrator activates the required options and settings; before payment, the developer checks the current data according to the agreed process. The team verifies the final deduction in Torgsoft and the rules for purchase cancellation.
The export of bonuses and certificates is a snapshot at the time of creation. Using loyalty in multiple channels requires an agreed checking and deduction process. The file itself does not block the reuse of a certificate in another store.
2.7. Schedule, POST messages, and import confirmation
Products and orders can have separate tasks. The integrator selects the synchronization type and the executor: Torgsoft or the automatic task server. To be run by the program, the application must be open on the specified computer under the specified user. For background operation, the service, its version, permissions, and file access are checked.
The interval is set according to the help recommendations: no more than once every 10 minutes, taking other objects into account. The developer separately configures the frequency of API requests. Frequent polling of the platform does not speed up the import of the file into Torgsoft outside the schedule.
«Send POST request after synchronization» notifies the site about the completion of the exchange. The developer provides the URL, name, and parameter value; the integrator sets them in the program. For the request, the timeout, allowed User-Agent, and redirects are set. A timeout of 0 means indefinite waiting.
This message is not a stream of all sales or return events. After it, the adapter reads the prepared files. The external platform's webhooks are received by the adapter's own HTTP handler.
In the FTP scenario, the order file is downloaded locally and deleted from the FTP, then processed by the program, and after a successful import, it is deleted locally. The disappearance of the file from FTP does not confirm the creation of the document. A faulty file in the local directory can prevent further import; the integrator checks the log and documents.
3. Standard integrations and TOM capabilities
For these scenarios, Torgsoft functions or specialized options are used. The owner gets access in the external service, the integrator configures the mode. Support covers documented connection operations.
| Service | Standard scenario | Preparation and configuration | Conditions |
|---|---|---|---|
| Prom.ua | Product exchange and orders via «Integration with Prom.ua». | Owner: cabinet and access. Integrator: option, object, price list, product mappings, and order processing. | Check variants, prices, item linking, and supported status transitions according to the option instructions. |
| Rozetka | XML price list and orders via «Integration with Rozetka.ua». | Owner: cabinet, cards, and access. Integrator: option, characteristics, photos, acceptance rules, and schedule. | The price list must match Rozetka. Demo — up to 10 products. Before publication, check the completeness of the file and its processing. |
| Satu.kz | Exchange via specialized Satu.kz option. | Owner: store on Satu. Integrator: access, products, prices, object, and order acceptance. | Satu and Kaspi connections are different scenarios. Kaspi requires a separate adapter. |
| Nova Poshta | Waybills via «Nova Poshta» option. | Owner: cabinet and API key. Integrator: sender, addresses, delivery, and related documents. | The order format supports NewPostDeliveryOptions and TTN number. Details are given in the delivery section. |
| Ukrposhta | Postal shipments provided by the option. | Owner: access. Integrator: option, sender, addresses, and parcel parameters. | Nova Poshta parameters are not used for Ukrposhta. Configuration is done according to a separate instruction. |
| Binotel | Telephony and customer interaction provided by the option. | Owner: account and access. Integrator: option, connection, and client phone numbers. | Check client search and employee permissions. Telephony connection does not provide a sales API. |
| PrivatBank, monobank, UKRSIBBANK | Statements via «Bank statements». | Owner: access to accounts. Integrator: Torgsoft accounts, receiving method, and payment recognition. | Accounts, currencies, and authorization are checked for a specific connection. Statements and internet acquiring have different mechanisms. |
| TurboSMS, AlphaSMS | SMS via TurboSMS and AlphaSMS; Viber via TurboSMS Viber. | Owner: account, balance, and agreed sender. Integrator: service, access, templates, and recipients. | Provider requirements for messages and sender apply. For advertising, proper consent of recipients is required. |
| SendGrid, SMTP | Sending emails using program tools. | Owner: mail service and domain. Integrator: sending method, access, and sender. | Check domain, limits, unsubscribes, and invalid addresses. Sending setup does not include all functions of a marketing service. |
| Google Drive | Archiving to cloud storage. | Owner: account and space. Integrator: archiving option, authorization, archive content, and schedule. | Check copy completion and recovery. Database archive is not used for real-time marketplace stock balances. |
| M.E.Doc, Art-Zvit | Documents through predefined export formats. | Accountant: document type and requisites. Integrator: respective export and import in the receiver. | The scope is determined by the document type. Full two-way accounting synchronization is not included in this scenario. |
| Webkassa, IS ESF Kazakhstan | Specialized options for fiscalization and electronic invoices. | Owner and accountant: registration, details, and access. Integrator: options and settings. | These functions have their own requirements and do not replace product and order exchange with Kaspi. |
Documentation: Torgsoft integrations, program help, bank statements.
Ready-made Torgsoft Online Market modules
Torgsoft Online Market, TOM — an online store platform that works together with Torgsoft. Access, payments, feeds, and external resources are configured in the TOM panel. Its integrations relate to store data and do not create an API for all Torgsoft documents.
| TOM Module | Data | Integrator actions | Checks |
|---|---|---|---|
| KeyCRM | TOM orders, buyer, products, prices, payments, and delivery; configured return statuses to TOM. | Activate module; specify key, source ID, manager, deliveries, payments, and statuses. | Other KeyCRM channels require a separate route to Torgsoft. Status in TOM and the state of accounting documents are checked separately. |
| LiqPay, Portmone, monobank | Payment in TOM and order transmission by selected type. | Connect merchant, keys, and «Torgsoft order type» for the payment method. | Check successful payment, invoice, amount, and document. Full bank payment data is not transmitted by this module. |
| Google Merchant Center, Hotline | Product feeds. | Activate feed, include categories, fill in characteristics, and check the generation report. | The feed must pass the receiver's check. Transferring the catalog does not mean approval of an advertising campaign. |
| Google Analytics 4, Google Tag Manager | Web analytics and store events. | Specify resource IDs, configure tags, and check events. | Check transaction ID and duplication of purchase. Offline sales require a separate data source. |
4. Online store platforms
CMS requires a module that matches site items with Torgsoft products, updates agreed fields, and transmits new orders. The owner provides access to the store and defines the inventory. The integrator prepares file exchange. The developer installs a compatible connector or creates an adapter to the platform API.
Before launch, define who creates product cards and manages descriptions. For an already filled site, only prices and stock can be transferred. If the adapter will create cards, it additionally needs categories, characteristics, variants, photos, and publication rules.
| Platform | Scenario | What to prepare and do | Conditions and checks |
|---|---|---|---|
| Horoshop | Catalog, prices, stock, and orders via platform connection. | Owner coordinates connection with Horoshop. Integrator configures sync option, file, photos, and order directory according to connector requirements. | Before launch, agree on the field structure and matching identifier. Check sizes, colors, existing cards, discounted prices, and order document type. |
| OpenCart | Catalog and orders via exchange module. | Owner provides CMS version and list of extensions. Developer installs compatible module or adds file handler and sync tasks. Integrator configures Torgsoft. | Standard OpenCart API does not replace a full catalog connector. Check compatibility with variants module, discounts, taxes, and custom checkout. |
| WooCommerce | Products, variations, stock, and new orders. | Developer gets REST API keys with necessary rights, uses products, variations, and orders wc/v3. Saves the GoodID link with product/variation ID. |
Separately check parent product and variation stock management, order statuses, and webhook redelivery. Webhooks must pass signature verification. |
| PrestaShop | Products, combinations, stocks, and orders via Webservice. | Administrator activates Webservice and issues a restricted key. Developer works with products, combinations, stock_availables, and orders resources. |
Check request format and available resources against store version. In multistore mode, account for shop ID; update combination stock by its identifier. |
| Shopify | Catalog, prices, inventory quantities, and orders via GraphQL Admin API. | Owner installs app. Developer sets up authorization, permissions for products, inventory, and orders; maps variants, inventory item, and location ID. | Access to customer data and old orders requires appropriate permissions. Check API version, GraphQL limits, and the difference between available quantity and other inventory states. |
| Wix Stores | Wix catalog, inventory, and orders. | Developer determines store catalog version, gets Stores and eCommerce permissions, maps variants and storage locations, uses respective Inventory API and Orders API. | Aggregated stock fields in the product object may be read-only. Update quantity through the designated resource; do not mix V1 and V3 catalog models. |
| Ecwid | Products, combinations, quantity, and orders. | Owner checks API availability for the store. Developer gets store ID and token with read orders and catalog management rights. | Map individual combinations, store shop ID together with order ID. Check payment statuses, order statuses, and plan limits. |
| BigCommerce | Catalog, stock, and orders. | Developer configures API account/OAuth and needed scopes. Uses Catalog API for catalog, Inventory API for warehouses, and respective Orders API for orders. | Resources belong to different API versions. Account for location ID, variants, channels, and price lists; do not apply one price to all customer groups without agreement. |
| Magento / Adobe Commerce | Products, inventory quantities, and orders via REST API. | Administrator creates integration with needed resources. Developer maps SKU, website/store scope, and inventory sources. | In Multi-Source Inventory, source quantity and salable quantity serve different purposes. Account for Magento reservations and do not deduct the same reserve twice. |
| MODX and custom site | Catalog and orders via custom module. | Developer adds product file handler to the actual store module, mapping log, and order file generator. Configures background tasks. | MODX itself does not define a single cart and order format. The exchange contract is defined for the installed store component or custom site database. |
5. Marketplaces and classifieds
Prom.ua, Rozetka, and Satu.kz are discussed among standard options. This table describes the operation of a third-party adapter for platforms. The owner first registers a seller cabinet and access to necessary operations. The developer checks application permissions, category requirements, price, and quantity format, and the integrator prepares Torgsoft exchange.
Transmitting only the article, name, and price is sufficient to update some already created offers. To publish a new card, all mandatory platform attributes are needed. Data missing from the product file is stored in the adapter's mapping table or directories.
| Service | Scenario | What the developer does | What the owner and integrator check |
|---|---|---|---|
| Etsy | Update listings, variants, prices, quantities; receive orders. | Registers Open API v3 app, sets up OAuth with PKCE and needed scopes. Maps GoodID with listing/product/variation, prepares order file. | App access type, Etsy allowed products rules, variant characteristics, shipping profiles, and store currency. Commercial access to serve other sellers is agreed upon per Etsy rules. |
| eBay | Offers via Inventory API, orders via Fulfillment API. | Gets seller OAuth, configures inventory location, business policies, and SKUs. Creates or updates inventory items/offers, downloads orders. | Agree on the method to transfer existing listings. Offers created via Inventory API should be managed by its operations. Check market, currency, delivery, and stock of each variation. |
| Allegro | Offers, prices, availability, and orders. | Registers app, performs OAuth, maps products to offers, reads checkout forms and order events. | Mandatory category parameters, Allegro catalog, available markets, currency, and delivery methods. Linking a product to the catalog and publishing an offer are separate operations. |
| Amazon | Seller offers and inventory, receiving orders via Selling Partner API. | Registers app and roles, sets up seller authorization, SKU/ASIN/marketplace ID links, and respective Listings, Feeds, and Orders APIs. | Separate FBM and FBA: local store inventory does not replace Amazon warehouse balances. Register access to personal data per current API and role rules. |
| Epicentr Marketplace | Catalog, prices, and stock via XML; orders via API. | Prepares XML per Epicentr requirements, categories, and attributes. Using cabinet token, gets orders and creates Torgsoft files. | Order API does not replace the product XML feed. Perform API tests considering production environment operation; agree on a test order and avoid mass changes. |
| ALLO Marketplace | Catalog, prices, and stock via product feed. | Converts Torgsoft export into XML per cabinet requirements, adds categories, characteristics, and photos, publishes file for download. | Order receiving method should be agreed separately via allowed interface or CRM connector. The product feed itself does not transmit orders. |
| eMAG | Catalog, offers, inventory, and orders via Marketplace API. | Gets seller API access, implements products/offers and orders resources for the required region. | Categories, localized data, taxes, and region currency. Process results for each item and asynchronous processing messages. |
| Kaufland Global Marketplace | Product data, offers, and orders via Seller API; partial data import via CSV. | Configures signed API requests, storefront, and warehouses. Maps EAN/product with seller units, gets order units. | Product data creation and seller offer have different requirements. Check CSV import result after processing completion, not just URL acceptance. |
| Kaspi Store | Offers via XML; orders via API. | Generates XML price with merchant ID, SKU, inventory data, and prices; receives orders with authorized token and converts them to Torgsoft format. | Seller access to Kaspi, region/city rules, and warehouses. Standard Satu.kz sync does not connect Kaspi. |
| Kasta | Catalog via XML and stock exchange via HUB interfaces. | Gets connection contract from seller for their collaboration model; configures XML and allowed HUB API operations, maps products and variants. | Clarify warehouse scheme and order transmission method in the supplier cabinet. Routing through another CRM requires separate testing of each exchange direction. |
| OLX | Publishing and managing ads via available OLX API operations. | Registers app, gets user authorization, prepares ads from product data, and saves their IDs. | Categories, packages, moderation, and account permissions. An ad is not an order: sale processing and import into Torgsoft are defined separately. |
| Temu | Receiving orders via allowed Partner API methods. | Registers app and seller authorization in the required region. Uses granted rights to read list and details of orders, maps items, and forms import. | Before starting, check access to order methods and delivery data for the seller's model. Include catalog and inventory in tasks only after approving corresponding API operations. |
| TikTok Shop | Products and orders via TikTok Shop Open Platform. | Registers app, seller authorization, request signing, and scopes. Works with available Product and Order APIs, warehouses, and SKUs. | Store must be admitted to the supported market. Check category requirements, product compliance, permissions, and regional API differences. |
Mandatory marketplace mappings
- Product: Torgsoft GoodID → seller SKU → offer ID and its variant. For a bundle, composition and quantity recalculation rules are saved.
- Warehouse: accounting center → platform warehouse/location/storefront. Sales from marketplace warehouses are separated from own ones.
- Order: channel + seller cabinet + external ID → OrderNumber. The number is used consistently on all subsequent retrievals.
- Price: currency, taxes, promotional and actual purchase price. The platform commission does not automatically reduce the sum of items in the order.
- Status: which statuses allow import, reserve, payment, shipment, and manual cancellation. Statuses in different systems have their own meanings.
6. Product catalogs and advertising channels
These services receive product data to display offers. The order is placed in the designated sales channel, from where it is transmitted to Torgsoft. The owner prepares the business cabinet and site; the developer creates a feed or uses a ready-made store module; the marketer checks diagnostics and advertising.
| Service | Connection | Executor actions | Requirements |
|---|---|---|---|
| Google Merchant Center | Ready TOM feed or product file adapter. | Developer adds stable ID, page link, image, price, currency, availability, and product identifiers. Owner configures data source and verifies the site. | Price and availability must match the page and checkout. GTIN, brand, and other fields are filled according to specific product requirements. Check the result in Merchant Center diagnostics. |
| Hotline | TOM feed or XML per Hotline specification. | Developer maps categories, manufacturers, characteristics, prices, links, and delivery terms. Owner connects the price list in the store cabinet. | YML of another platform is not accepted as a ready Hotline file without conversion. Check currency, product URLs, mandatory fields, and upload results. |
| Facebook and Instagram: Meta catalog via Shopify | Torgsoft → Shopify → official Facebook & Instagram channel. | Developer supports Shopify catalog, owner connects Meta business resources, marketer configures catalog and campaigns. | Feature availability depends on country, business account, and Meta rules. Order import is executed from Shopify only for orders actually created there. |
| Pinterest Catalogs | Feed for product catalog. | Developer prepares file per Pinterest specification with links, prices, and availability. Owner configures business account, domain, and source. | Check catalog availability for the country and store compliance with Pinterest requirements. Publishing a product pin does not create an order in Torgsoft. |
The feed is published entirely: the developer checks the structure, number of items, and link availability, and then replaces the live version. An empty or incomplete file is blocked until the cause is clarified, so the external service does not unpublish current offers.
7. CRM and omnichannel sales
A CRM can aggregate orders from sites and marketplaces. Such a scheme requires a separate bridge between the CRM and Torgsoft. The presence of channel connectors in the CRM does not configure this bridge automatically.
The owner determines the source of stock balances and the reservation procedure. The developer collects orders, saves the source channel and ID, maps products, and creates the Torgsoft file. The integrator checks the resulting documents. Until the order is imported and affects the accounting stock, the adapter or CRM accounts for it in the agreed channel reserve.
| Service | Scenario | Preparation and implementation | Exchange limits |
|---|---|---|---|
| KeyCRM | Ready TOM module or third-party adapter of other sources' orders. | For TOM, the integrator uses the module from section 3. For other channels, the developer gets an API key, determines sources, selects orders, maps SKUs, and prepares files. | The standard TOM module serves the described TOM route. Statuses of other channels, payments, and reverse changes in Torgsoft are included in a separate technical specification. |
| SalesDrive | New orders in Torgsoft; product stocks in CRM via allowed mechanism. | Owner issues key with required rights. Developer reads order list, applies filters and pagination, converts items. Chooses documented XML/API interface for stocks. | Check method availability for the tariff and cabinet settings, current limits, and form fields. Manual order changes after import require a reconciliation procedure. |
| KeepinCRM | Catalog, prices, and stock via XML. | Developer generates XML and configures field mappings; owner specifies URL and import rules in KeepinCRM. | Documented automatic XML import is performed every 12 hours. This route does not imply automatic transfer of all orders or trigger inventory movement events upon rewriting stock balances. |
| Base / BaseLinker | Inventory stocks and orders from connected channels. | Developer gets token, inventory ID, warehouses, and product mappings. Updates quantities, reads confirmed orders, and, if enabled, the event log. | Process all pages and orders with the same timestamp. One import to Torgsoft per external order; handle changes after confirmation via separate rules. |
| HubSpot | Transfer of selected contact data. | Developer converts TSClients.trs into Contacts API requests or import file. Owner agrees on fields and mapping key; administrator grants access. | Contacts do not automatically contain the full history of purchases, deals, and balances. Update rules and duplicate protection are set separately. |
| Pipedrive | Synchronization of agreed contact fields. | Developer uses current Persons API, maps contact to external key, and saves Pipedrive ID. | Do not create a new person on every export. Creation of deals, activities, and sales history requires other sources and a separate scenario. |
| Zoho CRM | Contact updates via API. | Developer configures OAuth for the required data center, mandatory Contacts fields, and upsert with the agreed key. | Check Last Name, custom fields, duplicate rules, and permissions. Pre-normalize fields with other formats. |
How to distribute statuses
The developer maintains a mapping table: CRM status, import condition, SaleType, and manager action. For instance, a confirmed unpaid order can create an invoice without shipment. After actual payment of an already created invoice, the manager or a separate supported mechanism registers the payment. Re-importing the same order as a new invoice is excluded.
Cancellations and returns after import go into the reconciliation queue. The responsible employee modifies Torgsoft documents and confirms the completion of the operation. Automation of this stage is included only with a specific supported method of working with the document.
8. Mailings, telephony, and messengers
For SMS, Viber, emails, and telephony, first check standard Torgsoft settings from Section 3. For marketing platforms, the developer uses the allowed contacts export. The owner defines the purpose of transmission, the legal basis for sending messages, and the opt-out procedure.
| Service | Scenario | Work of developer and owner | Checks |
|---|---|---|---|
| SendPulse | Contacts for mailings via import or API. | Developer converts TSClients.trs into a list with required fields, configures authorization and address book. Owner agrees on audience and messages. | Save consent and unsubscribe status. An exported phone or email does not mean consent to all messaging channels. |
| Mailchimp | Import or update audience. | Developer prepares CSV or uses Marketing API, maps email and extra fields. Marketer selects audience and segmentation rules. | Do not re-subscribe unsubscribed contacts by repeated export. E-commerce data and purchase events require a separate source. |
| Brevo | Contacts, attributes, and lists via API. | Developer maps fields, IDs, and list IDs, creates or updates contacts. Owner configures lists and communication rules. | Check phone formats, attribute types, and behavior on email/phone match. Unsubscribes and blocks have priority over repeat imports. |
| Telegram Bot API | Adapter notifications and structured orders from bot. | Developer creates bot, collects cart from known SKUs, quantity, and buyer data, generates order file. Uses agreed chat IDs for notifications. | A free text message in a chat is not a ready order. Requires user check, token, webhook, price, and all items. Notifications display only adapter-confirmed events. |
| WhatsApp, Instagram, Facebook Messenger via SendPulse | Orders from chatbot scenario via webhook. | Owner connects required business channel. Developer receives completed cart data, finds GoodID, and creates Torgsoft file. | Check business account rights, channel availability, messaging rules, templates, and consent. Arbitrary correspondence with a manager requires separate order processing. |
The messenger webhook is received by the adapter. It verifies the event, saves it in the log, and responds to the platform. The Torgsoft file is created after verifying the order. This allows reprocessing the event without re-creating the document.
Binotel is used within the standard telephony scenario. To link a call with a CRM or a separate bot, a custom route and access rights to call data are defined. The buyer's phone number is not an identifier of their order.
9. Payments and delivery
9.1. Online payment and bank statement
TOM modules for LiqPay, Portmone, and monobank, as well as standard bank statements, are given in Section 3. For another site, the payment provider is connected on the site's side. The developer confirms the payment result, and the integrator agrees on its display in Torgsoft.
| Provider | Scenario | What to implement | Conditions |
|---|---|---|---|
| WayForPay | Payment on site; import of confirmed new order. | Owner gets merchant account. Developer connects payment, callback signature check, number, amount, currency, and final status. | The buyer's successful return page does not replace payment verification. Repeat callbacks must not re-create the order. |
| Stripe | Site payment via business-accessible Stripe account. | Developer checks webhook signature against original request body, correlates payment with order, and confirms final state. | Owner checks Stripe availability for the country and business. Deferred payment methods complete with a separate event; creating a checkout session does not confirm payment. |
| PayPal | Site payment via business account. | Developer connects checkout, webhook check, and actual capture result. Saves payment/capture ID. | Buyer's order approval and completed capture are different states. Check payment acceptance availability, currency, and amount. |
If a new order is received already with confirmed full payment, SaleType=2 can be agreed for it. For automatic accounting shipment, a separately agreed scenario SaleType=3 is required. If the invoice is already created in Torgsoft, a later payment is not a reason to download this order again as a new one.
Partial payments, cash on delivery, commissions, refunds, and amount discrepancies are processed by separate rules. The integrator specifies the receipt account, the manager reconciles the sale amount with the payment, the accountant — with the provider's payout. Retained commission and the amount received in the bank do not automatically change the price of purchased products.
9.2. Transmitting delivery data
The sales document and the transport waybill have different purposes. For delivery, the owner sets up a carrier account. The developer passes address data and external identifiers; the integrator determines where the TTN (waybill) is created and how the employee sees it in Torgsoft.
| Service | Route | What to prepare | Scenario limits |
|---|---|---|---|
| Nova Poshta | Standard option and NewPostDeliveryOptions data in the order file. |
Integrator configures account, sender, and option. Developer passes recipient, delivery type, branch, or address; for existing TTN — DeclarationNumber. | Check current branch identifiers, phone, and Ukrainian address data. Importing an existing TTN has its own conditions, listed below. |
| Ukrposhta | Standard Torgsoft option. | Owner gets carrier access. Integrator configures sender, address, shipment type, and recipient data per option instructions. | The NewPostDeliveryOptions block is intended for Nova Poshta. Its fields are not a universal format for all carriers. |
| Meest Poshta via KeyCRM | TTN creation and printing in CRM. | Owner connects carrier in KeyCRM. Manager creates waybill there; adapter transmits the order itself to Torgsoft via agreed route. | Document printing in CRM is available for TTNs created by its integration. Meest TTN number is not transmitted as Nova Poshta's DeclarationNumber. |
| Rozetka Delivery via KeyCRM | TTN and delivery documents in CRM. | Owner configures carrier, manager arranges delivery in CRM. Developer saves tracking ID in the order linkage log. | Delivery in CRM and accounting shipment in Torgsoft are reconciled separately. This route does not add automatic writing of a third-party TTN to an arbitrary Torgsoft document. |
| InPost | Shipment processing by third-party adapter. | Owner gets API access for required market. Developer passes address data, pickup point, and parcel params, receives label and tracking ID. | Use API and contract of the specific country. Tracking is saved in adapter, site, or CRM; recording in Torgsoft is agreed separately. |
| DHL Express | Shipments and labels via MyDHL API. | Owner prepares account and contract. Developer passes address, weight, dimensions, service, and customs data for international shipment. | Real packaging parameters required. Torgsoft product file itself does not contain all data for transport and customs documentation. |
Nova Poshta fields that need to be mapped
In NewPostDeliveryOptions, RecepientType, full name, and phone are transmitted. For branch delivery, WarehouseRef or city and branch number are used. If WarehouseRef is passed, city and branch number are not needed for this search. For address delivery, the respective street, building, and apartment fields are filled.
If DeclarationNumber is filled, other fields of this block are ignored: the existing TTN is used. Its download is intended for import with an outgoing waybill — SaleType 3 or 4 — or after generating an invoice from a pre-order. The integrator verifies this process in their scenario.
10. Analytics and file automation
A defined set of data is transmitted to an analytical service: catalog, stock balances, clients, or exported report. The developer and analyst agree on field names, snapshot date, currency, and period. The product file is not used as a source of full sales history.
| Service | Scenario | Implementation | Checks |
|---|---|---|---|
| Google Sheets | Tables of products, prices, stock, or reports. | Developer reads agreed file and writes data via Sheets API. Owner grants access to required user or service account. | Add update time, separate manual columns. Do not transfer personal data to a public table. Editing the table does not automatically change Torgsoft. |
| Microsoft Power BI | Model from CSV and other prepared exports. | Analyst creates model; developer sets up regular file retrieval. Admin configures source and, if needed, gateway. | Schedule depends on file location and license. Determine if the report contains a snapshot or operations for a period; avoid adding the same sales again. |
| Looker Studio | Reports via prepared source or connector. | Developer uploads data to Google Sheets, warehouse, or creates Community Connector. Analyst defines field types and metrics. | Prepare aggregated data of required detail level, caching rules, and permissions. Connector does not add sources absent in the original export. |
| GA4, GTM and ad tags | Online store events via TOM or CMS. | Marketer defines events, developer adds them to store, checks item IDs and transaction ID. Connects agreed tags via GTM. | Purchase event must arrive once with actual purchase contents. It does not replace the accounting document and does not automatically contain Torgsoft offline sales. |
| Make | Orchestration of file reading, conversion, and HTTP requests. | Developer configures compatible secure transport, CSV/XML/JSON parsing, state storage, error handling, and platform API access. | Check support for required protocol and operations in connectors. Linking modules does not inherently provide GoodID mapping, duplicate protection, or import confirmation. |
| n8n | Background file and API exchange workflows. | Developer deploys workflow, configures file reading or HTTPS gateway, data conversion, logging, and retries. | FTP/SFTP node and Torgsoft delivery method must be compatible. If required TLS mode isn't supported by the node, use a secure gateway. Restarting workflow must not repeat import. |
For regular report export, the integrator defines its generation method in Torgsoft separately. The developer does not plan automatic access to any database data simply based on the presence of file synchronization.
11. How to ensure reliability, security, and maintenance
11.1. Store mappings separately from product names
The developer creates a permanent mapping storage. Product name can change, and barcodes are not always unique for all records. Before primary mapping, the integrator checks the directory; unapproved matches are not merged automatically.
| Entity | What the adapter stores | Purpose |
|---|---|---|
| Database and channel | Internal base code, platform, seller account, store. | Separation of identical numeric IDs of different databases and stores. |
| Product | GoodID, SKU, product/listing/offer ID, variant ID. | Unambiguous offer update and specific item import. |
| Warehouse | Accounting center, warehouse/location ID, reserve rule. | Correct channel quantity and deduction from the right center. |
| Order | External ID, OrderNumber, state, checksum, time, filename. | Event redelivery, reconciliation, and duplicate control. |
| Payment and delivery | Payment/capture ID, carrier, shipment/tracking ID. | Linking financial or transport event to the corresponding order. |
11.2. Define a single rule for stock balances
The integrator shows the developer what exactly the exported quantity contains: physical stock or availability already reduced by accounted reserves. The developer documents the calculation for each channel.
Channel quantity = max(0, export quantity − unaccounted reserves − safety stock).
Only orders that have not yet affected the exported quantity are included in «unaccounted reserves». After import and confirmation of the accounting reserve, the corresponding external reserve is removed. A reserve that is already accounted for is not subtracted twice.
For a bundle of several products, the developer calculates the number of sets based on the bundle composition. For fractional products, checks the unit of measure and allowed platform precision. Zero quantity means an agreed action with availability, and card deletion is performed only by a separate rule.
11.3. Verify orders before publishing the file
- Check source, account, external ID, and allowed status.
- Find GoodID for each item. For an unknown SKU, send the entire order to the correction queue.
- Check quantity, units, currency, prices, and discounts. Calculate the total and compare it with platform data.
- Agree on display of delivery, surcharges, and gifts. If a separate service is used, its GoodID and accounting behavior are checked by the integrator.
- Check buyer, address, and carrier parameters required for the chosen scenario.
- Select SaleType according to the agreed table and generate the schema file supported by the DB version.
A file with a missing item or unknown product is not published as a partial order without a separately agreed process. Error data is saved for correction; after it, the same external ID is used.
11.4. Protect import from duplicates
The developer creates a unique key «channel + account + external ID» in the log. A repeated event updates the state of this record. Before a new publication, the adapter checks whether the file was already sent and whether the document in Torgsoft is confirmed.
Practical log states: received → verified → file prepared → published → import confirmed. Errors and records requiring reconciliation are kept separately. Confirmation of the last state is determined by the real available mechanism of the specific integration or by the verification of a responsible employee.
Acceptance by the FTP server, HTTP 200, and file deletion are not considered a universal document confirmation. After a failure on the transmission boundary, the adapter stops republishing this order until reconciliation. The OrderNumber value itself is not a documented guarantee against all repeat imports.
11.5. Publish only completed files
The incoming product file is read after its generation is completed and structure is verified. POST message, schedule, or gateway are used according to the configured route. The adapter controls file integrity and rejects incomplete records.
The adapter's result is first written to a service directory, checked, and then published as a completed file. For orders, the temporary file has an extension that the importer does not process. Renaming is performed within the file system or a verified server mechanism; the atomicity of this step is verified by the administrator.
The working product feed is kept until the successful verification of the next version. The number of products, proportion of zero balances, mandatory fields, and file size are compared. Anomaly thresholds are agreed with the owner so that a planned assortment delisting is not blocked without explanation.
11.6. Separate errors and retries
- Authorization: stop the respective route, notify administrator, renew access per platform rules.
- API limit or temporary unavailability: save the task and retry with controlled delay, observing Retry-After if provided.
- Incorrect data: send record for correction; do not republish an unchanged erroneous file.
- Partial batch result: read responses for each product and retry only allowed unexecuted operations.
- Undefined import result: reconcile document before retrying.
Monitoring shows the last successful update, age of stock balances, number and age of untransmitted orders, SKU errors, and overdue confirmations. The owner assigns an employee for each notification type. An API request with a successful HTTP code is additionally checked for business errors in the response body.
11.7. Protect access and personal data
- Enable SSL/TLS for Torgsoft FTP and check actual encryption. External HTTP interfaces of the adapter run over HTTPS.
- Store keys and passwords in secure configurations. Do not add them to public feed URLs, repositories, messages, and logs.
- Issue minimum permissions. Use separate access for production environments and trials.
- Verify webhook signature and authorization validity per provider instructions. Save event to reliable storage before confirming its acceptance.
- Separate the public directory from client, order, bonus, and certificate files. Limit retention period and employee access.
- Mask unnecessary contact and payment data in logs. Agree on passing contacts for advertising with consent and opt-out rules.
11.8. Test manual and background execution separately
The administrator and integrator check the current Torgsoft version, automatic task server, and libraries supplied for this connection. Incompatible SSL libraries are not replaced with random DLLs from third-party sites.
A control order is run manually and via the actual service. Check the service user, rights, directories, language and regional settings, network access, and the result after a restart. Successful manual import does not confirm background task operation.
After changing the program version, file schema, pricing, site modules, or API, key tests are repeated. The developer maintains versions of the adapter and exchange contract; the owner assigns a person responsible for updates.
12. Testing and acceptance plan for integration
The free 30 days of the option can be used to test the exchange with the selected service. First, the owner sets up access and approves the scenario; after that, the integrator activates the option, and the developer launches the prepared adapter. Application approval by the external platform, its tariffs, and development are considered separately.
What must be ready before the first launch
| Preparation result | Responsible | What to pass to the team |
|---|---|---|
| Agreed scope | Owner and integrator | Channels, directions, fields, warehouses, currencies, manual actions, and acceptance criteria. |
| Platform access | Owner and developer | Cabinet, app permissions, working API methods, region, limits, and test environment, if provided. |
| Torgsoft exchange | Integrator | DB version, sync object, actual export, and settings list. |
| Server | Administrator | Secure transport, directory permissions, service startup, log, backup, and recovery. |
| Mappings | Developer and integrator | Products/variants, warehouses, categories, statuses, payment and delivery methods. |
| Accounting scenario | Integrator and manager | SaleType, price source, payment, reserve, shipment, cancellation, and return. |
For the database test copy, disable or reconfigure all production automatic tasks, exchange directories, and connections. Check SMS sending, emails, cloud archives, and carrier operations. The copy must not publish test stock to the live store or download its orders.
If the platform does not provide a separate test environment, the owner approves control products and orders in the production cabinet. The adapter's rights and tasks are limited to this list; mass changes remain disabled.
Sequence of work
- Checking access. The developer performs allowed reading of catalog and orders, checks authorization and required operations.
- Catalog test. The integrator exports control products; the developer checks new and existing cards, variants, prices, and zero quantity.
- Order test. The developer transmits a file; the integrator verifies buyer, each GoodID, quantity, price, currency, and created documents.
- Payments and delivery. The manager and integrator check agreed payment types, reserve, shipment, and TTN.
- Failures and retries. The team tests repeat events, loss of access, incomplete file, unknown SKU, and service restart.
- Limited launch. The owner admits the agreed assortment and channel; the team observes several full cycles and reconciles the result.
- Acceptance. The owner receives the manual, test log, monitoring access, and maintenance procedure.
Control tests
| Test | What is checked | Acceptance criteria |
|---|---|---|
| New and existing product | Creation and update per agreed route. | Existing card kept ID; new one has all mandatory fields; duplicate is absent. |
| Two sizes or colors | GoodID, variant ID, prices, and stocks. | Order of each variant creates the correct item. |
| Zero balance and reserve | Availability and transition of external reserve to accounting. | Unavailable product is not offered for sale; reserve is not deducted twice. |
| Multiple warehouses | WarehouseID and location ID mappings. | Agreed stock is published; document belongs to the correct accounting center. |
| Promotion and manual discount | Actual purchase price and invoice price source. | Prices and total match the agreed policy, without unforeseen recalculation. |
| Currency and fractional quantity | Currency code, precision, units, and rounding. | All amounts and quantities match in both systems. |
| Ukrainian text and special characters | Encoding, BOM, quotes, separators. | Full name, address, and items are read without distortion or column shift. |
| Unknown SKU | Cart completeness. | Order went to the correction queue, incomplete document is not created. |
| Repeat order or webhook | Unique key and log state. | One set of documents is created for the external order. |
| Pagination and same event time | Completeness of receiving orders. | All control orders from all pages are included without skips. |
| Unpaid and paid order | SaleType, account, and moment of payment. | Documents match the agreed scheme; late payment did not create a second invoice. |
| Cancellation and return | Reconciliation queue and manager actions. | State of documents and stocks is reconciled; responsible confirmed completion. |
| Address and existing TTN | Carrier, recipient, branch, and tracking ID. | Waybill belongs to the correct order; extra TTN is not created. |
| Incomplete or empty feed | Check before publication. | Erroneous file is blocked; working catalog is preserved. |
| Failure at the moment of transmission | Log behavior and recovery. | Undefined result is sent for reconciliation; blind retry is absent. |
| API error or access expiration | Retries, queue, and notifications. | Records are saved, responsible is notified, limits are observed. |
| Manual and background import | Service, directories, locale, and rights. | Identical result in two modes and after restart. |
| Backup and recovery | Log state, mappings, and configuration. | After recovery, the team sees confirmed and unsent records; duplication is excluded by agreed process. |
For each test, the team records in the log the actual result, external ID, OrderNumber, and Torgsoft document. A JSON example and checking its syntax do not replace import in the installed version of the program.
Prior to handover, the owner receives a list of automated operations, manual exceptions, update intervals, and responsible persons. Platform tariffs, necessary options, adapter support term, update and disaster recovery procedures are recorded separately.
Go back to the previous step