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.
Copy{
"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.
Copy{
"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:
Copy{
"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:
Copy{
"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.
Copy{
"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
Copy{
"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
Copy{
"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
Copy{
"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": {}
}
}