API Conventions

Customer Collaboration Platform uses REST-based API functions accessed over https. Five API functions are supported; each is mapped to an https operation or command.

Note

HTTP and HTTPS protocols are the supported.

Not all functions are used for all components.

The URL format is:

https://<ServerIP>:<Port>/ccp-webapp/ccp/<Component>

where <ServerIP> is the IP address or hostname of the Customer Collaboration Platform server and <Port> is the port number. The default port is 8080.

The functions are:

  • create (https POST)—Creates an object in the database and returns a response that contains the URL reference to the newly created object. This example response shows the URL reference returned for a newly-created feed:

    https/1.1 201 Created Location: https://192.168.0.1/ccp-webapp/ccp/feed/100162.

    The id for the feed is 100162.

    You can use this URL reference to retrieve the object with an https GET.

    Note
    In some APIs (for example, the callback API), you can also create objects with an https GET (create).

    Although GET (create) does not take a payload, the API developer must supply the required parameters in the URL.

  • delete (https DELETE)—Deletes an object.

  • get (https GET)—Returns data for an object. For objects for which multiple records exist, GET takes an identifier variable <id> of some kind. For different APIs, the <id> can appear as a <publicid>, an <objectid>, or another form of id variable.

  • update (https PUT)—Modifies an object. For some objects, PUT must include a changeStamp, but all other parameters are optional. Some parameters cannot be modified with a PUT as the change would impact system integrity. For example, you cannot change Feed Type or Filter Type. A PUT with a modification to these read-only parameters generates an error.

  • list (https GET)—For objects for which multiple records can exist, returns a list. For different components, GET (list) takes different optional URL parameters that modify the content of the returned list. The optional parameters are defined in the sections for each component.

The POST and PUT operations take a payload for which the input format is XML. GET and DELETE calls do not take a payload.

The content type for all POST and PUT operations is application/xml.

Other than https headers, all output is provided as XML.

XML is case-sensitive, therefore all xml element names are case-sensitive. For example, <Name> and <name> are two different XML elements.

Boolean values (true and false) are not case-sensitive.

If a payload contains duplicate fields, only the first one is interpreted by the server.