Skip to main content

CRM Integration

Synchronize contact and order data between SECUTIX and your CRM system. Contact data flows in both directions: your CRM can push contact updates to SECUTIX via the Contact APIs, and SECUTIX pushes contact changes to your CRM in real time via webhooks. Order data flows outbound from SECUTIX to your CRM.

This architecture covers the full lifecycle of a CRM integration — from initial setup and historical data import, through day-to-day bidirectional synchronization, to bulk updates and ongoing data consistency checks. It is organized into two parts: Contact Synchronization (bidirectional) and Order Synchronization (outbound, optional).

Example use cases​

  • Synchronize contacts in both directions between your CRM and SECUTIX.
  • Create, update, or delete customer accounts from your own portal or CRM.
  • Export order and transaction history to build a 360° view of each customer.
  • Export ticket-holder information for targeted, per-attendee communication.
  • Feed a loyalty program with purchase and attendance data.
  • Keep event and inventory data in sync with your CRM to support B2B sales processes.

Architecture Overview: Contact Synchronization​

CRM Integration — Contact Synchronization Architecture

Integration Steps​

The numbered steps below correspond to the flows shown in the architecture diagram.

  1. Setup — Before any data flows, configure the integration between your CRM and the SECUTIX platform. This includes:

    • Registering an API operator in the SECUTIX Admin API to obtain OAuth 2.0 credentials (Client ID / Secret). See Authentication & Authorization.
    • Requesting your SECUTIX administrator to configure the Contact Webhook in the S360 Backoffice, providing them with your webhook endpoint URL and authentication details. See Webhook Configuration in S360 Backoffice below for the full setup procedure.
  2. Initial Import — Perform a one-time bulk import to populate SECUTIX with your existing CRM contacts (or vice versa). Depending on which system holds the master data:

    • CRM → SECUTIX: Iterate over your CRM contacts and call our APIs to create them in SECUTIX. Use search endpoints beforehand to detect duplicates and avoid creating redundant records. See How to Create/Modify/Delete User Accounts for all available endpoints.
    • SECUTIX → CRM: Create a service request to SECUTIX so that the contacts to import can be properly flagged. Once flagged, the contact synchronization process continues smoothly, following the predefined procedures outlined in step (3).
    • For large datasets, consider throttling your import to respect API rate limits and implement retry logic for transient failures.
  3. Day-to-Day Outbound Sync (SECUTIX → CRM) — After the initial import, SECUTIX pushes contact changes to your CRM via the Contact Webhook. Whenever a contact is created, updated, or deleted in SECUTIX (e.g., through the ticketshop, box office, or backoffice), SECUTIX sends a webhook notification to your configured endpoint containing the full contact payload (see Contact Webhook API Reference for more details). Your CRM middleware receives this payload, applies the field mapping, and upserts the contact in your CRM.

    Synchronization frequency and limits: By default, modified contacts are sent every 15 minutes. This frequency can be adjusted between 1 and 1440 minutes through the batch schedule parameterization (see Webhook Configuration). Each synchronization run processes a maximum of 500 contacts, with a payload size of 50 contacts per batch.

  4. Day-to-Day Inbound Sync (CRM → SECUTIX) — When contacts are created or modified in your CRM, your integration middleware calls the SECUTIX Contact APIs to reflect the changes. See How to Create/Modify/Delete User Accounts for detailed API usage and links to each endpoint's API reference.

    Avoiding infinite loops: When your CRM receives a contact update from SECUTIX (via webhook), it must NOT push that same change back to SECUTIX via the Contact APIs. Otherwise, SECUTIX would detect a modification, trigger a new webhook, and create an infinite synchronization loop. Your middleware should track the origin of each change (e.g., using a flag or timestamp comparison) and only propagate changes that originated locally.

  5. Massive Update — For bulk operations that affect many contacts at once (e.g., importing a new batch of contacts from a flat file, updating criteria after a segmentation campaign, or migrating data from another system), your integration can use the same Contact APIs as step 4 but at scale. Implement batch processing with appropriate throttling, error handling, and progress tracking. If needed, SecuTix can temporarily increase the API rate limit for such cases.

  6. Data Consistency Check — To ensure data consistency between CRM and S-360, it is important to address potential discrepancies that may arise during the day-to-day Inbound/Outbound Synchronization. In the event of missing or mismatched data in either system, a recommended approach is to perform a flat file export from both databases, including a unique key for each record. These exported files can then be used for systematic data comparison, facilitating the identification and resolution of any inconsistencies. By conducting regular data consistency checks, the integrity and alignment between CRM and S-360 can be effectively maintained.


Optional: Order Synchronization​

Beyond contact data, many CRM integrations also require synchronizing order and transaction data from SECUTIX to the CRM. This enables your CRM to maintain a 360-degree view of each customer — including their purchase history, ticket holdings, and spending patterns — unlocking use cases like post-purchase engagement, loyalty programs, and customer segmentation based on buying behavior.

Unlike contact synchronization, order data flows outbound only (SECUTIX → CRM), since orders are created within the SECUTIX platform (ticketshop, box office, backoffice).

Architecture Overview: Order Synchronization​

CRM Integration — Order Synchronization Architecture

Integration Steps​

The numbered steps below correspond to the flows shown in the order synchronization diagram.

  1. Setup — Configure the order synchronization channel between SECUTIX and your CRM. This includes:

    • Reusing the OAuth 2.0 credentials from the contact integration setup (or creating dedicated ones). See Authentication & Authorization.
    • Requesting your SECUTIX administrator to configure the Orders Webhook in the S360 Backoffice, providing them with your order ingestion endpoint URL. The setup procedure is the same as for the contact webhook — see Webhook Configuration in S360 Backoffice.
  2. Initial Import — Create a service request to SECUTIX so that the orders to import can be properly flagged. Once flagged, the contact synchronization process continues smoothly, following the predefined procedures outlined in step (3).

  3. Day-to-Day Outbound Sync (SECUTIX → CRM) — After setup, SECUTIX pushes finalized orders to your CRM in real time via the Orders Webhook. Each time an order is completed (or abandoned), SECUTIX sends a webhook notification containing the full order payload — including order type, total amount, individual operations (tickets, memberships, season passes), payment details, and the associated contact number (see Orders Webhook for the full payload structure). Your CRM middleware receives this payload, maps it to your CRM's data model, and links the transaction to the corresponding contact record.

  4. Data Consistency Check — Periodically verify that order data is consistent between SECUTIX and your CRM. This can be implemented as a scheduled reconciliation job that:

    • Compares order counts and totals between both systems.
    • Identifies missing orders caused by webhook delivery failures or processing errors.
    • Triggers corrective imports for any gaps detected.
    • This is especially important after system outages or webhook endpoint downtime.

Webhook Configuration in S360 Backoffice​

Outbound webhooks (contact and order) are configured in the S360 Backoffice by the customer's administrator. The integrator provides the destination URL, authentication credentials, and filtering requirements; the SECUTIX admin then configures the interface as follows:

  1. Create the external interface — In Organization → Tools → External Interfaces, create a new interface of type Firehose contact (for contacts) or the equivalent order interface (for orders).
  2. Configure the endpoint — Paste your webhook URL in the Url field.
  3. Set authentication — Choose the authentication mode:
    • NONE — No authentication required.
    • BASIC_AUTH — Enter the login in the Login field and the password in the Password field.
    • API_KEY — Enter the header name in the Login field and the API key in the Password field.
  4. Select contact details — Choose which contact details to include in the webhook payload. The default is GENERAL,ADDRESSES. Additional detail levels can be added depending on your CRM's data requirements.
  5. Save the interface configuration.
  6. Create a schedule — In the schedule menu, create a new schedule with a frequency fitting your needs and batch size of 60 (recommanded default value).

Usage Plan​

This integration pattern maps to the CRM usage plan. Available tiers: BASIC (5 req/s), STANDARD (25 req/s), PREMIUM (125 req/s). See Rate Limits for full details.