Skip to main content

Pushing Data

Goal: Continuous Synchronisation

It is important that Complero has always a complete and up-to-date representation of all the contact data in a CRM or customer database.
Complero continuously monitors the contact data to detect changes, life events, and situations where update actions can be taken.

The goal is that Complero has 100% of same data as the Company all the time. There are two approaches that work in general depending on the actual abilities of your systems:

1. Triggers

Detect changes in Employees & Contacts and push them to Complero at the moment when they occur.

EntityActionComment
Employeenew
Employeechanged
Employeedeleted
Contactnew
Contactchanged
Contactdeleted
Contactother EmployeeIn case a Contact got reassigned to a different sales agent.

2. Periodically

Alternatively, regular sync of all changes, e.g. once per night push all changes of the day.

Uploading Data to Complero

Rate limits

Uploading data is rate limited to ensure the robustness of our system's data processing capabilities. The rate limit is 20 req/s per IP. Every request's payload can include up to 1000 Contacts.

Data processing

Complero accepts the uploaded data and returns with an HTTP Accepted (202) status as soon as possible. The actual import happens asynchronously in an internal queue system that ensures no data is lost in case of error and persisting is reattempted internally until successful. Uploading a batch of 1000 Contacts usually takes seconds. This monitorable process of uploading is what will be referred to as an Operation.

Every upload request maps internally to an Operation that can be fetched to monitor the upload's progress. Every Operation contains items corresponding to the entity being uploaded (Contact, Employee). The HTTP response to every POST request contains an "Operation-Id" header. This ID can be used in the get operation endpoint to monitor its progress.

Operation statusMeaning
pendingThe Operation has yet to start or is in progress.
successThe Operation has completed successfully.
errorAn error has ocurred during processing.
multiNot all Operation items have the same status. Check each item individually.

Order

  • Sync Employees first, then Contact (or the default Employee will be assigned).

  • What if the sent Contact is older than the last Update of a Contact? ⇒ the Company is considered acting on purpose, so the Contact gets updated with the latest data because e.g. it’s a change coming from the hotline.

  • Can a Contact be uploaded multiple times?

    • Events explained:
      • Create - Contact is seen by Complero for the first time and is created
      • Sync - Contact already exists and got updated with new data (originating from the Company)
      • Update - Contact already exists and got updated by the Contact himself via Complero
      • Confirm - Contact confirmed his data as still valid

Selection rules

Send every active Contact. The Customer’s success manager can filter Contacts in and out via Complero. Use the Tag field of an Employee and Contact to support this filtering.

Contacts that are blacklisted or have a general communication stop shall not be transmitted.

Matching Of Contacts

Primary key, if given. For data transferred to Complero a PK is required.

For Updates from the Portal, no primary key is available and client has to do manual matching

Employees

Adding Employees is optional, but recommended for Companies with branch offices or when groups of Contacts are managed by separate agencies or Employees.

When Employee data changes (new Employee, data change, leaving Company, other contact data) it needs to be synchronised to Complero.

All old Requests will see current Employee data (Employees are not versioned). So e.g. if an Employee changes his phone number it is immediately available for all past and new Requests