Notifications
This documentation will explain iVvy notifications. In our system, it is referred to as a subscription and each event type is a notification.
For terminology, you subscribe to an endpoint. There are several endpoints available and will provide the changes related to that specific endpoint.
Table Of Contents
Subscriptions
iVvy offers notifications that will send you details of a specific object that you wish to subscribe to. There are several notifications available and you may subscribe and unsubscribe to whichever notification is necessary for your development.
Access
The notification endpoints are currently only available to the “Primary” user of the account or API keys created without user. API Keys created with a user selected that is not a “primary” user, will result in a 403 - Not Allowed error
Testing
You can test using this fantastic website:
This website will assist you in receiving webhook information during your testing.
Subscribing To A Notification
Following on the instructions we have available on our website:
https://developer.ivvy.com/getting-started
You can use the following subscription endpoints:
Request Body
The request body to be provided to the endpoints is a JSON body with the key being the name of the notification endpoint you wish to subscribe to / unsubscribe from. And the value being the URL you are using to receive our notification.
The same object is required when interacting with either endpoint described below. The notification endpoints available are described below.
Subscribe
/api/1.0/account?action=subscribeToNotifications - POST
This endpoint will allow you to subscribe to a new notification type.
Response
The response that you will receive will be very similar to this. It will show you the current status of all of the notifications that you currently subscribe to. In the example below, this is a response when subscribed to the companies notification.
When you have subscribed to a notification, the endpoint you have provided will receive a message containing specific information about the notification you have subscribed to. Below is an example of a message from the iVvy API.
In the JSON object above, you’ll notice that there is a message and it will say something similar to the below:
To confirm the subscription, visit the SubscribeURL included in this message
There is a SubscribeURL attribute. You will need to contact this endpoint which will complete the registration of the subscription for that URL. You will not receive any notifications until you have contacted this endpoint.
Unsubscribe
/api/1.0/account?action=unsubscribeFromNotifications - POST
Note: Use the body request that you used in the subscribe endpoint.
Should you wish to no longer receive notifications of a particular type.
Response
The response example above shows the result of unsubscribing each endpoint. The integer value will be one of the following:
Value | Short | Description |
---|---|---|
1 | Success | The notification endpoint has been unsubscribed, and will no longer receive notifications |
2 | Not Requested | The notification endpoint was not in the api request |
3 | Unknown Error | An unknown error has occurred, contact iVvy tech support |
4 | Not Found | The notification endpoint was not found in the list of subscribed endpoints |
5 | Incorrect Source | You must unsubscribe with the API key that was used to subscribe the notification endpoint |
6 | Status Not Confirmed | The notification endpoint cannot be unsubscribed until it has been confirmed |
Notification Payload
The notification payload looks as follow.
We are using AWS SNS so about notification is from SNS. You should validate the message before processing it further.
Message Details
Here is the explanation of each key in the "Message". Using the "Subject" you can identify the what type of the message. The "Body" schema depends on the Subject.
Property | Description | Type |
---|---|---|
AccountId | The Account Id from where notification has been published | string |
Subject | The subject of the message. This is predefined | string |
Body | The body of the notification. | string |
Region | The region of the notification from where notification has been published | string |
Signature | The cryptographic signature of the message | string |
SigningPublicKeyPath | The path of the public certificate paired with the private key used to generate the signature. | string |
SourceInfo | Optionally the source of the message in JSON. E.g. API key for API source | string |
SourceType | The source of the message | int |
Timestamp | The timestamp of the notification | string |
TxnId | The Transaction id of the notification | string |
Source Type
Value | Description |
---|---|
0 | Unknown |
1 | API |
Endpoints
The notification can have message for different entities. For example, contactsEndpoint has a message for contact's note added or updated.
Here is the list of endpoints
Endpoint Key | Details |
---|---|
companiesEndpoint | |
contactsEndpoint | |
crmEndpoint | |
paymentsEndpoint | |
venuesEndpoint | |
eventsEndpoint |
Last updated