Integration Questions list
- Which direction is the sync going from ? - SF > other system ? - is that system accessible via the internet ? - does it support OAuth2 ? - does it support TLS1.2 ? - Does it have a REST or SOAP API ? - other system > SF? - can it leverage standard SF APIs ? - does it support OAuth2 ? - does it support TLS1.2 ? - both ? - all of the above, plus: - do the synced tables overlap ? - if yes, which system is the master ? - how should conflicts be resolved ?
- When is data synced ? - on record change ? - on user action ? - at set time ? - a combination of the above ?
- What is the amount of data to be synced, in number of records, per table ? - If > 1mil yearly: - should we archive old records ? - where ? - should we delete old records ? - are BigObjects a possibility ? - can we look into having an external data warehouse where we have the data and SF only pulls what is needed ?
- is there a 1/1 correlation between tables in SF and backend, or should we do a custom mapping between tables ?
- are there limits in he other system we need to be mindful of ?
Pre-scoping questionnaire
Does the client backend have any access restrictions?
- Specific IPs to whitelist?
- Proxy/limited access/etc?
- Does the backend support TLS1.2 minimum?
- Does the backend support OAuth2?
- Are there limits to the number of API calls that can be made?
- Are there limits in payload size?
- Are there limits to the delay in answering a specific call?
- What is the average response time of the API?
Is REST the only viable integration solution?
- Do all the data flows have to be real time?
- Can some data flows be handled via batch nightly loads instead of REST integration?
- Is the tight coupling REST integration forces a problem for the future?
- In case of real-time data sync, has events-based architecture been considered?
Does the client have documentation they can send over?
- Swagger or equivalent?
- Lacking that, basic pdf documentation?
- Lacking that, examples of calls and responses?
- Lacking that, can the client provide a list of supported methods (GET, PUT, POST, etc), and expected formats (JSON, XML) ?
Are all data flow operations possible in the current backend?
- Do endpoints exist for all specified data operations?
- If yes, are they considered stable?
- If no, can new endpoints be developed, or existing endpoints adapted?
- If yes, in which timeframe?
- If yes, is this viable for the current project?
- If multiple calls depend on each
othother