What this solution does
The module automatically transfers leads from the website to amoCRM (API v4) from three sources.
Online store orders. When a new order is placed, a deal is created in amoCRM. The deal budget equals the order total. Contact details (name, phone, email) are taken from the order properties. The note contains the full order composition, its properties, and the buyer's comment.
Web forms. Submissions from the 'Web Forms' module are converted into deals. The list of processed forms can be filtered by ID. Contact fields are mapped using the symbolic codes of the questions. All answers are saved in the note.
Info block requests. If website forms save requests to an info block, a deal is created when an element is added (including via API). Contact fields are mapped using property codes, and all element properties are recorded in the note.
Reliable delivery. Each event is logged in the outbox queue and sent immediately. If amoCRM is unavailable, the agent retries every 5 minutes; the retry limit is configurable. The delivery log with IDs of created deals and error messages is available in the module settings. Integration failures do not affect the order placement or form submission process.
The module creates a deal and a contact in a single request. When duplicate checking is enabled in amoCRM, the system automatically merges contacts by phone number or email address. Authorization is supported via a long-term token (recommended) or OAuth 2.0 with automatic token refresh. Users can select the sales funnel, stage, and responsible employee for each created deal. Individual deal tags can be configured for every data source. The module allows overriding the currency displayed in the note, which is necessary for stores where the site's currency code differs from the actual price currency. The interface is localized in Russian and English. The code is written in pure D7, uses a custom table via ORM, and makes no changes to the core. Requirements include the main module version 20.00.00 or higher and PHP 8.2 or newer. The 'Online Store', 'Web Forms', and 'Information Blocks' modules are optional and depend on the data sources used. An amoCRM account with API access is required. Installation is performed via the Marketplace or by uploading an update in the 'Installed Solutions' section. Configuration is done in 'Settings' → 'Product Settings' → 'Module Settings' → 'IDETA: Integration with amoCRM — orders, web forms, info blocks', where the account domain must be specified.
Authorization can be configured using one of two methods. The first method involves a long-lived token: within the amoCRM interface, navigate to the integration settings, create a new integration, generate a token, and paste it into the corresponding module field. The second method uses the OAuth 2.0 protocol: enter the integration ID, secret key, redirect URI, and a one-time authorization code available in the integration card. This code is valid for 20 minutes; the module will automatically exchange it for tokens and handle subsequent updates. Optionally, you may specify the pipeline ID, deal stage, and responsible employee. To verify connectivity, enable the option to check the connection upon saving and click the save button; upon successful connection, the account name will be displayed.
Data source configuration is managed through dedicated tabs. In the 'Orders' section, enable data transmission and optionally define a tag and currency for the note. In the 'Web Forms' section, activate sending, specify form IDs (leave blank to process all forms), and provide question codes corresponding to name, phone, and email fields. In the 'Info Blocks' section, enable transmission, and mandatory specify the info block IDs and property codes for contact fields.
Operational monitoring is performed on the 'Queue' tab. This view displays a log of recent operations, processing statuses, deal IDs, and error messages. If errors occur, a function is available to return failed records to the queue for retry.
Version 1.0.1 adds a 'Currency in Note' setting on the 'Orders' tab. This allows specifying a display currency (e.g., UZS) when the site's currency code differs from the actual price currency.
General iT can install and configure this module and check how it works on your website.