Skip to main content

Connectors

The Connector Service acts as the central translation and communication layer between the internal SureInk Platform and external third-party application systems such as CRM, Accounting, Reporting and Usage. It is designed to abstract the complexities of various external APIs and provide a unified interface for the rest of the platform.

Functional Overview

The Connector service is responsible for:

  • Data Synchronization: Moving data between SureInk and external systems like Salesforce, QuickBooks, and WooCommerce.
  • Third-Party Event Handling: Receiving webhooks from external services (e.g., Stripe, WooCommerce) and translating them into internal system events.
  • Scheduled Tasks*: Performing periodic synchronization and cleanup operations.

Major Code Modules

The module is structured into two primary areas:

Internal Components (com.sureink.connector.internal)

  • client: Feign clients used to communicate with other SureInk microservices (e.g., LicenseClient, CustomerClient).
  • controller: Internal endpoints for triggering sync tasks and managing the connector state.
  • service: Core business logic shared across multiple integrations.
  • event: Handling of internal Kafka events.

External Integrations (com.sureink.connector.external)

Each sub-package represents a specific third-party integration to the platform:

  • Salesforce: (.salesforce) Complex integration for syncing customers, products, and opportunities.
  • QuickBooks: (.quickbooks) Financial data synchronization for accounting.
  • Stripe: (.payment) Handling payment transactions and webhook processing.
  • WooCommerce: (.wordpress) E-commerce integration for order and product syncing.

Linkages and References

  • Parent/Gateway: All external requests come through the SureGatewayApplication (sureink-gateway).
  • Core Logic: Interacts heavily with CloudMsaApplication (sureink-cloud-msa) for license and subscription data.
  • Data Storage: Uses sureink-customer for syncing customer profiles created in external systems.
  • Shared Data: Utilizes sureink-common-model for standardized DTOs across integrations.