Marketplace Subscriptions

Authorization (HMAC)

To verify that the payloads your webhooks receive actually come from us, we require that you implement HMAC authentication schema.

HMAC constructs an information-rich header that contains information about the sender, while providing security to ensure that the request has not been forged or tampered with in transit.

For more information read here

Available Subscriptions

3rd party app uninstalled

This event is triggered when any 3rd party app has been uninstalled.

{
  "event": {
    "name": "marketplace.Location.deleted",
    "component": "marketplace",
    "resource": "Location",
    "action": "deleted",
    "version": "v1",
    "subscriptionId": 1,
    "dispatchedAt": "2019-10-15T17:00:00.000Z"
  },
  "payload": {
    "locationId": 1
  }
}

Payload:

Name Type Description
locationId* integer The Customer Hub location ID

Response:

A successful response is accepted, e.g.: 2xx

3rd party app installation requested

This event is triggered when an installation for a 3rd party app has been requested.

{
  "event": {
    "name": "marketplace.InstallationRequest.created",
    "component": "marketplace",
    "resource": "InstallationRequest",
    "action": "created",
    "version": "v1",
    "subscriptionId": 1,
    "dispatchedAt": "2019-10-15T17:00:00.000Z"
  },
  "payload": {
    "locationId": 1,
    "guid": "07a3a97e-6154-4e18-97a0-4b59cdd79007"
  }
}

Payload:

Name Type Description
locationId* integer The Customer Hub location ID
guid* string Installation request GUID

Response:

A successful response is accepted, e.g.: 2xx

3rd party app installation request cancelled

This event is triggered when any 3rd party app installation request has been cancelled before installation is complete.

{
  "event": {
    "name": "marketplace.InstallationRequest.cancelled",
    "component": "marketplace",
    "resource": "InstallationRequest",
    "action": "cancelled",
    "version": "v1",
    "subscriptionId": 1,
    "dispatchedAt": "2019-10-15T17:00:00.000Z"
  },
  "payload": {
    "locationId": 1,
    "guid": "07a3a97e-6154-4e18-97a0-4b59cdd79007"
  }
}

Payload:

Name Type Description
locationId* integer The Customer Hub location ID
guid* string Installation request GUID

Response:

A successful response is accepted, e.g.: 2xx

3rd party app installation validation requested

This event is triggered when an installation for a 3rd party app has been requested and needs additional validation.

{
  "event": {
    "name": "marketplace.InstallationValidation.created",
    "component": "marketplace",
    "resource": "InstallationValidation",
    "action": "created",
    "version": "v1",
    "subscriptionId": 1,
    "dispatchedAt": "2019-10-15T17:00:00.000Z"
  },
  "payload": {
    "installationRequest": { ... }
  }
}

Payload:

Payload matches the one provided during app installation.

Response:

A successful response is accepted: 200 or 204

To reject the installation, return a non-2xx status code. The details field from the response body will be passed back to the caller as error details, if provided.

Subscriber rejection response body:

{
  ...
  "details": [
    { "property": "propertyValue", "message": "..." }
  ]
}

Each item in details:

Name Type Description
property string The property that failed validation
message string Human-readable description of the validation failure

Caller error response:

{
  "status": 400,
  "timestamp": "2019-10-15T17:00:00.000Z",
  "message": "Installation payload validation failed",
  "details": [
    { "property": "propertyValue", "message": "..." }
  ]
}

results matching ""

    No results matching ""