We advise following these best practices to ensure you and your end-users have the best experience possible when working with Synapse.
All the ways to use our APIs are not created equal. In many circumstances, of the different ways to achieve the same action, there is a clearly preferred method. We refer to the best methods for using our APIs in our User Guides as Recommended Flows. Please refer to each product page for its respective recommended flow.
Example Recommended Flow: Create User and add KYC
Information in our system is constantly changing and updating, long after API calls have been made.
- A user could be flagged on a sanctions list after being previously marked as verified.
- A node’s balance could be updated after a payment has posted.
- A transaction could be queued shortly after creation.
We recommend that platforms subscribe to webhooks to receive updates on their users, nodes, transactions, and other changes inside their respective ecosystems.
- Create Subscription
- Update Subscription
- View Subscription
- View All Subscriptions
- View Webhook Logs
- Webhook Logistics
- Format and HMAC Information
To prevent duplicate creation of users, nodes, and transactions, it's important provide retry attempts with idempotency keys.
POST calls support idempotency for safely retrying requests without accidentally performing the same operation twice. For example, if a request to create a transaction fails due to a network connectivity error, you can retry the request with the same idempotency key to guarantee that only a single charge is created.
To perform an idempotent request, attach a unique key to any
POST request made to the API via the
Notes to keep in mind when making idempotent requests:
- Idempotency keys expire after 24 hours.
- It is best practice to wait for a failure response from the
POSTcall before attempting to retry the call.
Please refer to our Mitigating Transaction Risks guidelines for steps you can take to reduce your exposure to transaction risks.
Updated about a year ago