One way synchronization
Synchronize data from external systems to Avallone.
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.
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.
Caller is not required to store any state
The caller of the API should simply have to send the data extracted from it’s internal system. Avallone will take care of figuring out what needs to be created vs updated.
Accept partial data
End-user doesn’t always have the complete dataset. Whatever is available should be accepted.