smart-bonding-customer-api
Customer 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 customer’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 Case
json
Copy{
"Calls": {
"CustCallID": "CustomerTestTicket01",
"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-customer",
"Sign": "B2B",
"Tel": "1-408-000-0000",
"EMail": "mary.woods@customer.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 customer ticket.
An update with notes can be as short as this:
json
Copy{
"Calls": {
"CustCallID": "CustomerTestTicket01",
"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:
json
Copy{
"Calls": {
"CustCallID": "CustomerTestTicket01",
"Remarks": "some ticket updates. All notes / text updates go in here"
},
"CallStates": {
"ShortName": "Update"
},
"Attachments": [
{
"DataBase64": "WW91ciBzYW1wbGUgYXR0YWNobWVudCBpcyB3b3JraW5nIQpDaXNjbyB3aXNoZXMgeW91IGEgZ3JlYXQgZGF5IQ==",
"NR": 1,
"FileName": "test.txt"
}
]
}
Pull Updates from Cisco
Method: GET
URL postfix v1/pull/call
json
Copy{
"Calls": {
"SDCallID": 494413035,
"CustCallID": "CustomerTicket001",
"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-customer",
"Sign": "B2B",
"Tel": "1-408-000-0000",
"EMail": "mary.woods@customer.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": {}
}
}