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 oth