Visma Development Portal
Guide on subscribing to BNXT webhooks via the Visma Development Portal, including setup steps, retry configurations, and securing the signature key.
The Business NXT webhooks will notify when a change has been made in a table row. Your application will need an endpoint capable of receving a POST request from Visma Connect. The request will contain a signature that can be verified by your application using a shared key.
The payload contains the following fields
Field | Data type | Explanation |
---|---|---|
tableIdentifier |
string |
Table that has been modified, corresponds to the table name in GraphQL. |
customerNo |
int |
The customer number the table belongs to, can be 0 if companyNo is non-zero. |
companyNo |
int |
The company number of the company the table belongs to, can be 0 if the table is a customer level table. As general advice rely on companyNo first to identify the tenant, and only if it’s 0 check customerNo . |
event |
string [INSERT|UPDATE|DELETE] |
The performed row action, three possible values INSERT , UPDATE , and DELETE . |
primaryKeys |
array [[string: int64|string]] |
The primary key represented as an array of key value pairs between the primary key column name and its value. Can contain multiple elements if the table has a composite primary key. The column name corresponds to its name in GraphQL. Note that integral values are signed and can be 64 bit. |
timestamp |
string |
UTC timestamp of when the webhook was created, should only be used for DELETE events. It’s usually stamped slightly later than the changedTimestamp /createdTimestamp found in changedColumns and through GraphQL queries. The changedTimestamp value is the perfered value. This field is no longer neccessary for INSERT and UPDATE events after the introduction of the changedTimestamp and createdTimestamp column. |
changedByUser |
string |
The user name of the user performing the action, the information can also be found in changedColumns for INSERT and UPDATE events. |
changedColumns |
array [[string: int64|decimal|string]] |
Array with key value pairs of all changed/inserted column names and values in UPDATE and INSERT events, similar to the primary key field. Binary columns’ values are their length and not the binary content. The field is not present for DELETE events. |
Below is an example payload for updating an order line, some elements have been omitted from changedColumns
for brevity.
{
"tableIdentifier":"OrderLine",
"customerNo":4801958,
"companyNo":5199768,
"event":"INSERT",
"primaryKeys": [
{"OrderNo":3},
{"LineNo":1}
],
"timestamp":"2025-02-06T21:15:28.3971469Z",
"changedByUser":"ola.normann",
"changedColumns":[
{"Description":"Hello webhook"},
{"ChangedDate":20250206},
{"ChangedTime":2215},
{"ChangedByUser":"ola.normann"},
{"ChangeTimeInMs":80128366},
{"ChangedTimestamp":20250206211528366}
]
}
Guide on subscribing to BNXT webhooks via the Visma Development Portal, including setup steps, retry configurations, and securing the signature key.
Guide to configuring Business NXT - Create and link User, WebhookTarget, and Webhook Subscription tables. Support outlined for multiple targets and subscriptions per application.
Integration samples are available on GitHub, including contributions by Ole Melhus. Visit the links for examples and layouts.