Partner Self Onboarding

This chapter describes the technical requirements and information for the API connection:

  • Push/Pull method
  • REST API with JSON message format A connection between the partner’s test and production system and Smart Bonding’s test and production systems needs to be established.

API Endpoints

Platform API Endpoint URL Usage
Staging https://stage.sbnprd.xylem.cisco.com/sb-partner-oauth-proxy-api/rest/v1/push/call Push Information to Cisco
https://stage.sbnprd.xylem.cisco.com/sb-partner-oauth-proxy-api/rest/v1/pull/call Pull Information from Cisco
Production https://sb.xylem.cisco.com/sb-partner-oauth-proxy-api/rest/v1/push/call Push Information to Cisco
https://sb.xylem.cisco.com/sb-partner-oauth-proxy-api/rest/v1/pull/call Pull Information from Cisco

Create transaction

Method: POST URL postfix v1/push/call

Create Shadow Case

The following message is an example of creating a Shadow Case with Cisco.

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "ShortDescription": "Title of Ticket",
        "Description": "test ticket - long description of the issue",
        "Remarks": "additional notes",
        "CustomerRequestedStartTime": "2022-04-01 10:20:00",
        "CustomerRequestedEndTime": "2022-04-01 10:20:00",
        "CustomerReasonCategory1": "Cisco Technology Code",
        "CustomerReasonCategory2": "Cisco Sub-Technology Code",
        "CustomerReasonCategory3": "Cisco Problem Code",
        "CCP": {
            "LastName": "Mustermann",
            "FirstName": "Max",
            "Department": "testccpdept",
            "PIN": "testccpin",
            "LocationCity": "testccloccity",
            "LocationStreet": "testccpst",
            "Room": "tesccpromt",
            "Tel": "1-919-000-0000",
            "EMail": "mmuster@cisco.com",
            "Fax": "test"
        },
        "CHD": {
            "LastName": "Woods",
            "FirstName": "Mary",
            "PIN": "mwoods-partner",
            "Sign": "B2B",
            "Tel": "1-408-000-0000",
            "EMail": "mary.woods@partner.com"
        },
        "MainComp": {
            "Location": "123",
            "Room": "",
            "SerNrProv": "",
            "InvNr": ""
        },
        "SubComp": {
            "LocationName": "Suite 112/Gate 09",
            "LocationCategory": "Data Center",
            "LocationZip": "12345",
            "LocationCity": "Capital City",
            "LocationStreet": "12345 Main Street",
            "LocationProvince": "VA",
            "LocationTel": "3041",
            "Room": "test",
            "OpSys": "562"
        }
    },
    "Contracts": {
        "ShortName": "TAC"
    },
    "ContractElements": {
        "ShortName": "SRM"
    },
    "CallStates": {
        "ShortName": "New"
    },
    "Priorities" : {
        "ShortName" : "Shadow"
    },
    "Severities" : {
        "ShortName" : "3"
    },

    "ExtTableValues": {
        "Field1": "deliveries accepted between 9AM and 3PM only",
        "Field2": "please ensure all seals are intact before opening",
        "Field11": "Jane Doe, Reception",
        "Field14": "2022-04-01 10:20:00",
        "Field16": "Tech Management",
        "Field17": "2nd Floor",
        "Field18": "No",
        "Field19": "Replace Part",
        "Field20": "Router",
        "Field21": "None",
        "Field25": "United States",
        "Field26": "1",
        "Field31": "2022-04-01 10:20:00",
        "Field104": "2022-04-01 10:20:00",
        "Field105": "2022-04-01 10:20:00",
        "Field106": "",
        "Field107": "RMA123456",
        "Field108": "VendINC123",
        "Field109": "Vendor",
        "Field110": "Yes",
        "Field111": "Router Cat9K",
        "Field112": "Power",
        "Field113": "Simon",
        "Field114": "Smith",
        "Field115": "1-855-000-0000",
        "Field116": "simon.smith@vendor.com"
    }
}

Create Escalated Case

To create an escalated case the field value for Priorities - ShortName needs to be set to "Escalated". This hands the ownership for case resolution to the Cisco engineer. Ensure correct Technology, Sub-Technology and Problem Codes in Fields CustomerReasonCategory1, CustomerReasonCategory2 and CustomerReasonCategory3 are set for routing to the specialized team to get immediate attention on your ticket. Refer to the chapter Case Routing for information how to obtain these values.

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "ShortDescription": "Title of Ticket",
        "Description": "test ticket - long description of the issue",
        "Remarks": "additional notes",
        "CustomerRequestedStartTime": "2022-04-01 10:20:00",
        "CustomerRequestedEndTime": "2022-04-01 10:20:00",
        "CustomerReasonCategory1": "Cisco Technology Code",
        "CustomerReasonCategory2": "Cisco Sub-Technology Code",
        "CustomerReasonCategory3": "Cisco Problem Code",
        "CCP": {
            "LastName": "Mustermann",
            "FirstName": "Max",
            "Department": "testccpdept",
            "PIN": "testccpin",
            "LocationCity": "testccloccity",
            "LocationStreet": "testccpst",
            "Room": "tesccpromt",
            "Tel": "1-919-000-0000",
            "EMail": "mmuster@cisco.com",
            "Fax": "test"
        },
        "CHD": {
            "LastName": "Woods",
            "FirstName": "Mary",
            "PIN": "mwoods-partner",
            "Sign": "B2B",
            "Tel": "1-408-000-0000",
            "EMail": "mary.woods@partner.com"
        },
        "MainComp": {
            "Location": "123",
            "Room": "",
            "SerNrProv": "",
            "InvNr": ""
        },
        "SubComp": {
            "LocationName": "Suite 112/Gate 09",
            "LocationCategory": "Data Center",
            "LocationZip": "12345",
            "LocationCity": "Capital City",
            "LocationStreet": "12345 Main Street",
            "LocationProvince": "VA",
            "LocationTel": "3041",
            "Room": "test",
            "OpSys": "562"
        }
    },
    "Contracts": {
        "ShortName": "TAC"
    },
    "ContractElements": {
        "ShortName": "SRM"
    },
    "CallStates": {
        "ShortName": "New"
    },
    "Priorities": {
        "ShortName": "Escalated"
    },
    "Severities": {
        "ShortName": "1"
    },
    "ExtTableValues": {
        "Field1": "deliveries accepted between 9AM and 3PM only",
        "Field2": "please ensure all seals are intact before opening",
        "Field11": "Jane Doe, Reception",
        "Field14": "2022-04-01 10:20:00",
        "Field16": "Tech Management",
        "Field17": "2nd Floor",
        "Field18": "No",
        "Field19": "Replace Part",
        "Field20": "Router",
        "Field21": "None",
        "Field25": "United States",
        "Field26": "1",
        "Field31": "2022-04-01 10:20:00",
        "Field104": "2022-04-01 10:20:00",
        "Field105": "2022-04-01 10:20:00",
        "Field106": "",
        "Field107": "RMA123456",
        "Field108": "VendINC123",
        "Field109": "Vendor",
        "Field110": "Yes",
        "Field111": "Router Cat9K",
        "Field112": "Power",
        "Field113": "Simon",
        "Field114": "Smith",
        "Field115": "1-855-000-0000",
        "Field116": "simon.smith@vendor.com"
    }
}

Update tickets

Method: POST URL postfix v1/push/call

Fields with unchanged values need not be sent again and can be removed from the message, making the payload smaller.

The only mandatory field is the CustCallID which is used to reference the correct partner ticket.

An update with notes can be as short as this:

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "Remarks": "some ticket updates. All notes / text updates go in here"
    },
    "CallStates": {
        "ShortName": "Update"
    }
}

Add attachment

Method: POST URL postfix v1/push/call

Attachments can be added during any transaction after creation. Below sample shows adding an attachment with a case note update:

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "Remarks": "some ticket updates. All notes / text updates go in here"
    },
    "CallStates": {
        "ShortName": "Update"
    },
    "Attachments": [
    {
      "DataBase64": "WW91ciBzYW1wbGUgYXR0YWNobWVudCBpcyB3b3JraW5nIQpDaXNjbyB3aXNoZXMgeW91IGEgZ3JlYXQgZGF5IQ==",
      "NR": 1,
      "FileName": "test.txt"
    }
  ]
}

Escalate Case to Cisco

Method: POST URL postfix v1/push/call

To Escalate a Shadow case to Cisco, a message like the below sample can be sent. If any field values need to be updated the fields can be transmitted in the same transaction.

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "Remarks": "some ticket updates. All notes / text updates go in here"
    },
    "CallStates": {
        "ShortName": "Update"
    },
    "Priorities": {
        "ShortName": "Escalated"
    }
}

Resolve Shadow Case

Method: POST URL postfix v1/push/call

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "Remarks": "some ticket updates. All notes / text updates go in here - update resolve"
    },
    "CallStates": {
        "ShortName": "Resolved"
    }
}

Close Case

Method: POST URL postfix v1/push/call

The following sample message closes a shadow case. Refer to Guides - "Field & Value Mapping" for Values

{
    "Calls": {
        "CustCallID": "PartnerTestTicket01",
        "Description": "Updated description of the ticket",
        "Solution" : "Root cause was found in a faulty power socket",
        "Diagnosis" :"Faulty power socket",
        "CCP": {
            "Department": "888410",
            "PIN": "495266",
            "EMail": "Licensing",
            "LocationCity": "1 Level -Basic",
            "LocationStreet": "faulty power socket changed",
            "Room": "S123456789",
            "Fax": "Customer Education"
        }
    },
    "CallStates": {
        "ShortName": "Closed"
    }
}

Pull Updates from Cisco

Method: GET URL postfix v1/pull/call

{
    "Calls": {
        "SDCallID": 494413035,
        "CustCallID": "PartnerTicket001",
        "ShortDescription": "Title of Ticket",
        "Description": "test ticket - long description of the issue",
        "Remarks": "Cisco CSOne Case Create Successful!",
        "CustomerReasonCategory1": "Cisco Technology Code",
        "CustomerReasonCategory2": "Cisco Sub-Technology Code",
        "CustomerReasonCategory3": "Cisco Problem Code",
        "Caller": {
            "LastName": "Sampler",
            "FirstName": "William",
            "Title": "ACME Inc.",
            "Tel": "1-512-000-0000",
            "EMail": "wsampler@company.com"
        },
        "CCP": {
            "LastName": "Mustermann",
            "FirstName": "Max",
            "Room": "S123456789",
            "Tel": "1-919-000-0000",
            "EMail": "mmuster@cisco.com"
        },
        "CHD": {
            "LastName": "Woods",
            "FirstName": "Mary",
            "PIN": "mwoods-partner",
            "Sign": "B2B",
            "Tel": "1-408-000-0000",
            "EMail": "mary.woods@partner.com"
        },
        "MainComp": {
            "Location": "123",
            "Room": "P123456789",
            "LocationLevel": 0,
            "SerNrProv": "C9K123456789",
            "InvNr": "C987654321"
        },
        "SubComp": {
            "LocationName": "Suite 112/Gate 09",
            "LocationCategory": "Data Center",
            "LocationZip": "12345",
            "LocationCity": "Capital City",
            "LocationStreet": "12345 Main Street",
            "LocationProvince": "VA",
            "LocationTel": "3041",
            "LocationLevel": 0,
            "OpSys": "562"
        },
        "CallStates": {
            "CiscoStatus": "New",
            "Name": "New"
        },
        "Priorities": {
            "CiscoPriority": "B2B Dormant",
            "Name": "Shadow"
        },
        "Severities": {
            "CiscoSeverity": "3",
            "Name": "3"
        },
        "ExtTableValues": {}
    }
}