Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Support data synchronization from external systems to Avallone

Avallone primarily supports once way synchronization i.e. data from customers can be uploaded to Avallone.

...

Avallone's APIs are built on four core principles that prioritize a seamless data synchronization process. These principles form the foundation for efficient and reliable API integration.

...

1. Bulk synchronization

The sync endpoint should support upload different data point in one go e.g. companies, company relations, officers, officer relations, etc - as much as possible.

However, there will be some exceptions e.g. documents.

...

2. Idempotent operations

Calling the sync endpoint with the same payload should not have any side-effect (except for activity logs)

Single endpoint for bulk updates and single point updates

If the sync operation works for bulk data, it should also work for a subset of the data

Client is not required to store any state

The client (or the caller of the API) should simply have to extract the data from their .

3. Extract and load

The caller should be stateless i.e. the caller shouldn’t have to store the Avallone ids at their end for the integration to work. The caller should simply extract data from the internal system and send to Avallone. Avallone will take takes care of synchronization i.e. figuring out what needs to be created vs updated.

4. Accept partial data

End-user doesn’t always have the complete dataset. Whatever is available should be accepted.

Expand
titleWhat it looks like in practice?

Consider two different scenario:

Handle collection with invalid entries

Consider an array e.g. [ A, B, C, D], if any of the values is invalid, then the rest should still be processed

Handle objects with invalid values

Consider an object e.g. { name: ..., parent: ..., address: ... }, if the value of the parent property is invalid, then the rest should still be accepted e.g. name, related address, etc

...

Need more help?

Contact us on support@avallone.io and we will get in contact with you as fast as possible.