Recurring Sync Flow

The following steps need to be followed each time you create a new sync to push new data in Zluri:

Start Sync

This step starts a new sync session. Once initiated, Zluri will generate a unique syncId that you will use for all data uploads during this session.

Important Notes

  • One Active Sync at a Time: Only one sync can be active per instance at any given time.
  • Unique Tracking: Each sync session is assigned a unique syncId, used to upload data.
  • Immutable After Completion: Once you finish a sync, it becomes read-only and cannot be edited.

Upload Data

Once your sync is initialized, use the syncId to upload data in a paginated manner. You can send data for one or more entities (like userstransactions, etc.) in multiple pages.

Understanding Data Types

Zluri SDK supports two kinds of data models during a sync session:

Snapshot Data (Current State)

AspectDescription
WhatIt is a point-in-time representation of current data
ExamplesUsers, Groups, Group Users
BehaviorIt replaces any previously uploaded snapshot data

Incremental Data (Historical Events)

AspectDescription
WhatIt's a time-stamped record of events
ExamplesUser Activity, Transactions, Contracts
BehaviorAppended as new entries in historical logs

Uploading Multiple Entities in a Single Sync(Recommended)

You can upload different types of data—like users, groups, user groups, and user activity—together in one sync session. This helps you send all related data in one go, making the sync process faster and more organised.

Important Notes:

  • Each entity must include a page_number to support paginated uploads.
  • Uploading the same entity_name and page_number again will overwrite the previous data for that page.
  • A maximum of 1,000 records is allowed per page.

Finish Sync

Use the Finish Sync action to close the current sync session. This indicates that all data has been uploaded and initiates Zluri’s backend processing pipeline.

Important Notes

  • A sync session cannot be modified once it has been completed.
  • Processing starts automatically upon completion.
  • Processing status updates are sent via email notifications.

Example Flow:

flowchart TD
    A[🚀 Initialize Sync] --> B
    
    subgraph B[📊 Data Upload Process]
    
				direction TB
        
				B1[👥 Users<br/>Uploaded 5 pages]
        B2[🏢 Groups<br/>Uploaded 3 pages]
        B3[📈 User Activity<br/>Uploaded 10 pages]
        
        B1 --> B2
        B2 --> B3
    end
    
    B --> C[✅ Sync Complete]
    
    %% Styling
    classDef startEnd fill:#e1f5fe,stroke:#01579b,stroke-width:2px,color:#000
    classDef process fill:#f3e5f5,stroke:#4a148c,stroke-width:2px,color:#000
    classDef subgraphStyle fill:#fafafa,stroke:#666,stroke-width:1px
    
    class A,C startEnd
    class B1,B2,B3 process