12. #QBConnect@QuickBooksAU 12
Technical Requirements
UI Components, QuickBooks Data Connections, Sign in with Intuit button, Interaction with apps.com
Complete Requirements – Essentials -> Publish and market your app -> Technical Requirements
Publishing on QuickBooks App Store
Security Requirements
App Server Configurations, Attack Vulnerability, QuickBooks Data Usage, Encryption, Sessions/Cookies
Complete Requirements – Essentials -> Publish and market your app -> Security Requirements
Marketing Requirements
App Card Review, Logo and branding, Contact and Support information, etc
Complete Requirements – Essentials -> Publish and market your app -> Marketing Requirements
20. #QBConnect@QuickBooksAU 20
Reliability
• In order to compensate for the possibility of missed or dropped
packets, make a ChangeDataCapture (CDC) call for each entity
received up to the last notification time (as shown in sample app)
upon receipt of new notification.
• You can additionally make a daily CDC call for all entities to
ensure that your database is consistently up to date.
Integration Best Practices
21. #QBConnect@QuickBooksAU 21
Respond Promptly
• Your endpoint should respond within three seconds; otherwise, the
transaction will time out and be retried.
• To make sure you can always respond quickly, do not process the
notification payload or perform complex operations within the Webhooks
endpoint implementation.
• It is a good idea to do the processing on a separate thread
asynchronously using a queue.
Integration Best Practices
22. #QBConnect@QuickBooksAU 22
Manage Concurrency
• Event notifications are sent for each realmID at a time.
• When there are multiple changes happening rapidly, your app
may receive notifications frequently.
• Care should be taken to process the queue linearly to avoid
processing the same changes more than once.
Integration Best Practices
23. #QBConnect@QuickBooksAU 23
Notification Ordering
• While we make all effort to send the events in order, it is possible
to receive an older event in a subsequent notification.
• The event timestamp field in the notification payload is always the
source of truth for when an event has occurred.
Integration Best Practices
24. #QBConnect@QuickBooksAU 24
Retry Policy
• If the endpoint is down, we will retry progressively (first time after
20 minutes, then again after 30 minutes, and a third time after 50
minutes) and finally drop the message.
• The endpoint will become inactive after one day.
Integration Best Practices
25. #QBConnect@QuickBooksAU 25
• API based subscription per company
• Configure aggregation period
• Event Log Viewer
• Capability to replay events
Looking into the Future