Getting started
Overview¶
This guide explains how to use the Business Automation API.
Pre-requisites¶
Before you use the Business Automation API, make sure you meet the following requirements:
- You must be enrolled in the Sophos Partner Program to access the Business Automation APIs.
- You must complete the Getting Started guide for Sophos Partners. This guide walks you through setting up your API credentials.
- You must authenticate using your API credentials and obtain a valid JWT token (
{jwt}). - You must know the unique ID of your distributor account. This ID must be included in the header of each API request as (
{X-Distributor-ID}).
Terminology¶
Before using this API, familiarize yourself with the following terms:
- Principal: A user or service associated with a single Sophos Fusion account that requires access to resources within that account.
- API credentials: A service principal with a system-wide unique identity (Client ID).
API operations¶
The Business Automation API supports the following operations:
| Operation | HTTP Method | Endpoint |
|---|---|---|
| Get Quotes | GET | /business-automation/v1/quotes |
| Get Quote by ID | GET | /business-automation/v1/quotes/{quoteId} |
| Get Partners Level | GET | /business-automation/v1/partners/level |
Base URL
All API requests use the following base URL:
https://api.central.sophos.com
Get quotes¶
Returns a list of approved quotes.
Endpoint:
GET /business-automation/v1/quotes
Request headers:
Authorization: Bearer {jwt}
X-Distributor-ID: {distributorId}
Response:
{
"items": [
{
"proposalNumber": "Q-00001",
"type": "New",
"dealregNumber": "DR1234",
"teamingRegNumber": "TP-987651",
"validUntil": "2024-02-13",
"autogenerated": false,
"amendAndExtend": false
}
],
"pages": {
"current": 0,
"size": 1,
"maxSize": 0
}
}
Get a quote by ID¶
Returns details of a specific quote.
Endpoint:
GET /business-automation/v1/quotes/{quoteId}
Request headers:
Authorization: Bearer {jwt}
X-Distributor-ID: {distributorId}
Response:
{
"proposalNumber": "Q-00001",
"opportunityId": "a10Va000006uPrVIAU",
"type": "New",
"dealregNumber": "DR1234",
"teamingRegNumber": "TP-987651",
"validUntil": "2024-02-25",
"paymentTerms": "Net 30",
"autogenerated": false,
"createdByPartner": false,
"amendAndExtend": false,
"promotionalCodes": [""],
"contact": {
"firstName": "Joe",
"lastName": "Bloggs",
"email": "joe.bloggs@sophos.com",
"phone": "123456",
"mobile": "123456"
},
"distributor": {
"name": "Distributor",
"address": {
"address1": "Abbey Place",
"address2": "",
"city": "London",
"state": "London",
"countryCode": "GBR",
"postalCode": "LE12 1ZZ"
}
},
"partner": {
"name": "Partner",
"level": "Gold",
"accountNumber": "39271594",
"address": {
"address1": "Donnington Road",
"address2": "",
"city": "London",
"state": "London",
"countryCode": "GBR",
"postalCode": "LE12 1YY"
},
"contact": {
"firstName": "John",
"lastName": "Who",
"email": "John.Who@sophos.com",
"phone": "12345678",
"mobile": "12345678"
}
},
"endUserCustomer": {
"name": "User",
"accountNumber": "58921384",
"address": {
"address1": "Central Park Road",
"address2": "",
"city": "London",
"state": "London",
"countryCode": "GBR",
"postalCode": "LE12 1XX"
},
"contact": {
"firstName": "Some",
"lastName": "User",
"email": "Some.User@sophos.com",
"phone": "123446",
"mobile": "123446"
}
},
"quoteLineItems": [
{
"productName": "XYZ",
"productDescription": "XYZ with advanced protection",
"startDate": "2027-04-01 00:00:00",
"endDate": "2031-03-31 00:00:00",
"existingLicenses": ["D12345678"],
"billingCategory": "Upfront",
"sku": "XYZITA00123",
"utmLicenseId": "",
"term": 48,
"quantity": 10,
"currencyCode": "USD",
"unitMsrp": 180.24,
"msrp": 1802.4,
"additionalDiscountPercentage": 0,
"allowance": -460.35,
"specialTotal": 1802,
"intermediateTierMargin": 10,
"intermediateTierUnit": 100,
"intermediateTierTotal": 1802,
"marginPercentage": 3.5,
"unit": 180.24,
"total": 1802
}
],
"totals": {
"currencyCode": "USD",
"msrpTotal": 1802.24,
"specialTotal": 1802,
"intermediateTierTotal": 1802,
"total": 1802.4
}
}
Get partners and levels¶
Returns a list of partners and their level.
Endpoint:
GET /business-automation/v1/partners/level
Request headers:
Authorization: Bearer {jwt}
X-Distributor-ID: {distributorId}
Response:
{
"items": [
{
"accountName": "Account Test",
"ediAccountNumber": "9122312443",
"level": "gold",
"updatedDate": "2024-02-13",
"createdDate": "2024-01-13",
"mspSubType": "MSP",
"billingCity": "Lindale",
"billingSubRegion": "USA",
"territory": "North America Partners",
"managedBy": "NA West MSP"
}
],
"pages": {
"current": 1,
"size": 1,
"maxSize": 0
}
}
Limitations¶
This API doesn't allow you to create or modify a quote.
Conclusion¶
See the API reference for a comprehensive description of the Business Automation API.