Troubleshooting SOAP API endpoints

Updated on 20-October-2016 at 10:16 AM

Business Catalyst End of life announcement - find out more details.

API is the interface BC provides for customers to query database from an external application and retrieve customer data. BC exposes several web services customers can make calls to and obtain data, which can be found here:

https://help.worldsecuresystems.com/catalystwebservice/catalystcrmwebservice.asmx - CRM web services

and here:

https://help.worldsecuresystems.com/catalystwebservice/catalystecommercewebservice.asmx - eCommerce web services

You can consider each web service to be a function to which you can pass some parameters and receive response. For example, if you look at Order_Retrieve web service https://help.worldsecuresystems.com/catalystwebservice/catalystcrmwebservice.asmx?op=Order_Retrieve , you?ll find that it expects the following parameters and when these parameters are supplied it will send back the response:

<username>string</username>
<password>string</password>
<siteId>int</siteId>
<orderId>int</orderId>

Every web service will require some parameters and all require username, password and siteID.

You?ll find that the request and the response are in XML format and our APIs are SOAP APIs.  We don?t support REST framework in these V2 web services.

When you want to implement a client, they will usually require a WSDL service description, which can be found here:

https://help.worldsecuresystems.com/catalystwebservice/catalystcrmwebservice.asmx?WSDL

Please note that you should replace ?help.worldsecuresystems.com? with secure URL e.g. ?sitename.worldsecuresystems.com? because help.worldsecuresystems.com points to AU data center and if your site resides on a different data center and you pass the site id to the web service, it will not work.

You will obtain the site ID from Site Settings - API integration. Note that there are 3 fields on this page. These are used for notification framework and are not needed if you?re only retrieving the info. If you want to capture notifications on an external system you will need to place an address of the web service into appropriate fields 


  • First thing you need to do is download a program called SoapUI ? http://www.soapui.org/ 
  • Once you download the program, install it and open it.
  • Once the program is open, go to File -> New Project.
  • Inside the Project Name field enter ?BC CRM API?. Inside the Initial WSDL/WADL field enter the service description URL.  Example:

    https://mgtrain.worldsecuresystems.com/catalystwebservice/catalystcrmwebservice.asmx?WSDL

  • Click OK.

  • You?ll now see in the left panel the list of all of all of CRM web services BC provides.

  • Right click on Order_Retrieve in the left panel and click New Request. In the dialog box you can place something like ?order test? and click OK.
  • You will now see a box with a SOAP request in it and question marks for values:

  • You have to replace ? with the information you obtain from your site. Example: 
  • <cat:username>mgtest@adobe.com</cat:username>
    <cat:password>mgtest123</cat:password>
    <cat:siteId>33228</cat:siteId>
    <cat:orderId>608391</cat:orderId>

    Note that the user must have admin access to the site.

    SiteId can be found at Site Settings - API Integration and OrderId can be obtained by hovering over the orders in admin under CRM - Orders and looking at the status bar.

  • Once you have that information in there you need to click on the Run button and you will see the response inside the right-hand window.

  • You will find that the response is in XML format and all the fields are present. You can use the same method to connect to any site on BC and retrieve information.