Topic by Steve Bowerman
Hi,
We've been using the KK SOAP API for a while now to search/popular content and to retrieve KB articles. These all work fine.
However, we are doing a piece of work around categorisation and we need to apply filters to GetPopularContent and SearchContent API calls. We are struggling based on the examples in the documentation.
Here's the XML we're using. We have a category called "Advice" with an ID of 123
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<h:ClientInfoHeader xmlns:h="urn:messages.ws.rightnow.com/v1" xmlns="urn:messages.ws.rightnow.com/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<AppID>test</AppID>
</h:ClientInfoHeader>
</s:Header>
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<GetPopularContent xmlns="urn:messages.ws.rightnow.com/v1">
<SessionToken>session-token-string</SessionToken>
<ContentSearch>
<Filters xmlns="urn:knowledge.ws.rightnow.com/v1">
<ContentFilterList xsi:type="ServiceCategoryContentFilter">
<ServiceCategory>
<ID xmlns="urn:base.ws.rightnow.com/v1" id="123"/>
</ServiceCategory>
</ContentFilterList>
</Filters>
</ContentSearch>
</GetPopularContent>
</s:Body>
</s:Envelope>
I'd expect to get a a list of KB articles which belong to the selected category. All I get is:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header/>
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Sender</faultcode>
<faultstring>Invalid ServiceCategory: ID cannot be resolved.</faultstring>
<detail>
<n0:RequestErrorFault xmlns:n0="urn:faults.ws.rightnow.com/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<n0:exceptionCode>INVALID_FIELD</n0:exceptionCode>
<n0:exceptionMessage>Invalid ServiceCategory: ID cannot be resolved.</n0:exceptionMessage>
</n0:RequestErrorFault>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Thanks
Steve