daktela/daktela-v6-crm-sync

Universal sync layer between Daktela Contact Centre V6 and any CRM system

Maintainers

Package info

github.com/Daktela/daktela-v6-crm-sync-sdk

pkg:composer/daktela/daktela-v6-crm-sync

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.1 2026-02-27 22:53 UTC

This package is auto-updated.

Last update: 2026-02-27 22:54:03 UTC


README

A universal sync layer between Daktela Contact Centre V6 and any CRM system. Ships a concrete Daktela adapter, ready-to-use CRM integrations, and lets you add more under src/Crm/.

Architecture

┌─────────────┐     ┌─────────────┐     ┌─────────────────┐
│  CRM System │ ──▶ │ Sync Engine │ ──▶ │ Daktela CC V6   │
│  (Adapter)  │ ◀── │  + Mapper   │ ◀── │   (Adapter)     │
└─────────────┘     └─────────────┘     └─────────────────┘
      │                    │                     │
      │              YAML Configs          Official PHP
      │            (field mappings)        Connector v2.4
      │
  CRM adapters live
  in src/Crm/<Name>/

Sync directions:

  • Contacts: CRM → Daktela (CRM is source-of-truth)
  • Accounts: CRM → Daktela (CRM is source-of-truth)
  • Activities: Daktela → CRM (Daktela is source-of-truth)

CRM Integrations

CRM Namespace Docs
Raynet CRM Daktela\CrmSync\Crm\Raynet README

Requirements

  • PHP 8.2+
  • Daktela V6 instance with API access

Installation

composer require daktela/daktela-v6-crm-sync

Quick Start

  1. Create your CRM adapter implementing CrmAdapterInterface
  2. Configure field mappings in YAML
  3. Wire up the SyncEngine
use Daktela\CrmSync\Adapter\Daktela\DaktelaAdapter;
use Daktela\CrmSync\Config\YamlConfigLoader;
use Daktela\CrmSync\Logging\StderrLogger;
use Daktela\CrmSync\Sync\SyncEngine;

$logger = new StderrLogger();
$config = (new YamlConfigLoader())->load('config/sync.yaml');

$ccAdapter = new DaktelaAdapter($config->instanceUrl, $config->accessToken, $config->database, $logger);
$crmAdapter = new YourCrmAdapter(/* ... */);

$engine = new SyncEngine($ccAdapter, $crmAdapter, $config, $logger);
$engine->testConnections();

$results = $engine->fullSync();
foreach ($results->toArray() as $type => $result) {
    echo $result->getSummary(ucfirst($type)) . "\n";
}

See examples/ for full sync, incremental, single-record, and webhook examples.

Documentation

Development

docker compose build
docker compose run --rm php composer install
docker compose run --rm php vendor/bin/phpunit
docker compose run --rm php vendor/bin/phpstan analyse

License

Proprietary — requires a valid Daktela Contact Centre license. See LICENSE for details.