Skip to content

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.