Setup your Domain postbacks

All domain operations over Users and Transactions may generate postbacks (also known as Webhooks), to enable near real time notifications and interactions from async operations in the platform. Every notification on this system is based on state transitions from this two entities.
So whenever this entities changes it's states, the mediator will be notified about it.

To setup your domain postbacks, just update its desired URL for the notifications

const domainId = '0a28f4e5-06b0-461d-a793-9208ef95738a';

await bitcapital.domains().update(domainId, {
  postbackUrls: ['https://hooks.mywebsite.com'] 
});
curl --location --request POST 'https://nightly.btcore.app/domains/' \
--header 'Authorization: Bearer $ACCESS_TOKEN' \
--header 'Content-Type: text/plain' \
--data-raw '{
	"postbackUrls": ["http://$API_BASE_URL/path/to/url"]
}'

After this configuration, all User and Transaction state changes will be sent to the configured URL using the following payload:

{
  "id": "092a4f3c-e465-4f1d-ac8b-3287164368b3",
  "entity": "user",
  "status": "ready"
}

The fields are:

  • Entity: user or transaction
  • ID: The unique identifier of the entity in the platform
  • Status: The latest status of the entity

Security recommendations

Although all postbacks sent are signed using the default Request Signing, the best approach is to consider the Postback a mere notification (not trust its data fully) and always request the actual entity directly from the API using its ID. This prevent tampering with your URL, if it ever gets compromised.

Specific integrations are available (such as VPC connection and IP locking) but may require an additional support package. For more information open a request at the Help Center.