The above services do not contain SuperOffice Customer Service SOAP APIs (customer, admin, and ticket).Those services are part of the Customer Service FastCGI modules and not part of NetServer web services. NetServer web services includes most of the same functionality, and will continue to evolve for 100% coverage.
Download Single:
SOAP web service architecture
NetServer SOAP web services are built using Microsoft Windows Communication Foundation (WCF), and implement the Service Agent pattern.
Each agent represents one area, or entity, of SuperOffice. For example, to manage Appointments use service agent Appointment.svc. The .svc extension is specific to WCF hosted services.
The complete URL, assuming the target version is services88, is:
Service agent and carrier pattern
All services are called through an agent that is designed to handle a specific business area. An agent has a set of methods, typically for inserting, retrieving, updating, and deleting data. Each method on the agent corresponds to one HTTP request. Depending on your development platform of choice, the following code snippets represent the interactions using SuperOffice NetServer .NET proxy. This may or not be similar to a proxy generated using Java toolkit or PHP, but is close enough to convey the concepts. The following code segment shows how to create anAppointmentAgent. Once the agent has been created, we can use it to access the different methods exposed by the agent.
Carriers.
A Carrier is the data structure that represents data sent between the client [proxy] and Agent services. In an attempt to reduce the amount of XML send on the network, there are two kinds of carriers: lightweight carriers and entity carriers. The primary difference is that lightweight carriers are read-only, and only entity carriers are used to create or update entities in the database.
Read-only carriers
The read-only carrier is a lightweight DTO. It exposes its properties primarily as string values, or integer ID values correlating to the ID field in the corresponding table. The advantage of a lightweight carrier is its simplicity, avoiding the overhead that comes with larger, more complex, entities classes. Below is an example that shows how to load a read-only carrier using an Agent.ContactAgent will return a Contact instance through the GetContact method, then read a few of itβs properties.
ContactAgent does not have a SaveContact(Contact) method, and therefore no changes to this DTO can be persisted - is it read-only.
Entity carriers
An entity carrier, unlike read-only carriers, expose their properties as more complex structures. For example, thePersonEntity.Contact contains all relational information about the corresponding contact - including name, address, contact ID, phone collection, and more.
The example below demonstrates how to retrieve a ContactEntity instance using the ContactAgent.GetContactEntity method.
Example requests
Example SOAP request
This example demonstrates how to get a sent a GetContact request to the ContactAgent service.XML
Example ContactAgent.ContactEntity
This example demonstrates how to get a ContactEntity using the ContactAgent, using the .NET SuperOffice.NetServer.Services nuget package.
The
ContactAgent class provides methods such as GetAddress, GetAddressByCountry, GetContact, DeleteContactEntity, and many more.Read about SOAP proxy.
SuperOffice SOAP web services are not at the center of the API focal point any longer. Instead, focus has shifted towards REST web services. Therefore, itβs recommended that all who wish to continue using Service Agent pattern switch to using the SuperOffice.WebApi library. It has the exact same Agent/Carrier/Methods, but uses the Agent REST API.