Reading the MSP’s organization ID from your service
When the MSP administrator opens the connection setup form in the Acronis management portal, enters the credentials required by the application and attempts to enable the application, Acronis Cyber Platform securely stores the credentials and sends a POST request to the callback handler asking for the organization ID that uses these credentials in the ISV’s service.
The callback request will:
Specify the
cti.a.p.acgw.callback.v1.0~a.p.enablement.read.v1.0callback identifier.Specify the
cti.a.p.acgw.request.v1.0~a.p.empty.v1.0callback request type.Omit the
payloadfield.
The request can be represented with the following cURL command:
curl -i -s -X POST <callback_handler_url> \
--header 'Content-Type: application/json' \
--header 'X-CyberApp-Auth: base64(<identity>:<secret>)' \
--header 'X-CyberApp-Extra: base64(<json_extra_data>)' \
--data '{"type": "cti.a.p.acgw.request.v1.0~a.p.empty.v1.0", "request_id": "<request_id>", "created_at": "2023-04-10T15:33:01+00:00", "context": {"callback_id": "cti.a.p.acgw.callback.v1.0~a.p.enablement.read.v1.0", "endpoint_id": "<endpoint_id>", "tenant_id": "<acronis_tenant_id>", "datacenter_url": "<acronis_datacenter_url>"}}'
The callback response code must be 200 and the response body must:
Specify the
cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0response type.Include the
payloadfield with the MSP’s organization ID that corresponds to the credentials provided in the connection setup form and, if present, an Acronis tenant ID that was mapped to it.
When the application was not previously enabled, the payload field must include only the MSP’s organization ID:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
<...>
{
"type": "cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0",
"request_id": "<request_id>",
"response_id": "<response_id>",
"payload": {
"vendor_tenant_id": "<vendor_msp_organization_id>"
}
}
When the application was already enabled, the payload field must also include the mapped Acronis tenant ID for
this organization ID:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
<...>
{
"type": "cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0",
"request_id": "<request_id>",
"response_id": "<response_id>",
"payload": {
"vendor_tenant_id": "<vendor_msp_organization_id>",
"acronis_tenant_id": "<acronis_msp_tenant_id>"
}
}