Contact Management
The contact management web service allows retrieving, creating, updating and deleting contacts.
Note: Retrieve the WSDL to get an overview of the general options. The JSON requests correspond to the SOAP XML requests as you can see in the examples below.
SOAP and WSDL
The WSDL can be retrieved via following URL:
https://<host>/<vdir>/fscdav/wsdl?WEBSVC=FSCCONTACTMGMT_1_1001_ContactWebService
Example:
https://at.cloud.fabasoft.com/folio/fscdav/wsdl?WEBSVC=FSCCONTACTMGMT_1_1001_ContactWebService: new window
JSON
You can call the operations the following way:
https://<host>/<vdir>/wsjson/FSCCONTACTMGMT_1_1001_ContactWebService/<operation>
Example:
https://at.cloud.fabasoft.com/folio/wsjson/FSCCONTACTMGMT_1_1001_ContactWebService/GetContactsByKey: new window
Available Operations
The contact management web service provides following operations:
- GetContactsByKey
Retrieves contacts based on a key (Import ID or Fabasoft Cloud ID). Several contacts can be returned, e.g. in case of several identical import IDs. If more than 100 contacts or contact rooms are found, an error is returned. - GetContactsByName
Retrieves contacts based on a name (“LIKE” search in the Name field). Several contacts can be returned, e.g. if the search matches several contact names. If more than 100 contacts or contact rooms are found, an error is returned. - UpdateContact
Creates a new contact or updates an existing one. - DeleteContact
Deletes a contact.
More information about the parameters of the operations can be found here (the listed actions are mapped to the corresponding web service operations):
Examples
The following chapters provide several contact management web service examples.
GetContactsByKey
In the following example all contact persons with Import ID “P1” of rooms with Import ID “Room_A1” of the configuration with Fabasoft Cloud ID “COO.1.506.2.586” are retrieved.
Note: In any case the Import ID or Fabasoft Cloud ID can be used to identify the objects.
Example |
---|
SOAP Request <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:fsc="http://schemas.fabasoft.com/websvc/FSCCONTACTMGMT_1_1001_ContactWebService/"> <soap:Header/> <soap:Body> <fsc:GetContactsByKey> <fsc:contactkey>P1</fsc:contactkey> <fsc:contactroomkey>Room_A1</fsc:contactroomkey> <fsc:contactclass>ContactRoomPerson</fsc:contactclass> <fsc:contactconfigkey>COO.1.506.2.586</fsc:contactconfigkey> </fsc:GetContactsByKey> </soap:Body> </soap:Envelope> JSON Request { "contactkey": "P1", "contactroomkey": "Room_A1", "contactclass": "ContactRoomPerson", "contactconfigkey": "COO.1.506.2.586" } |
GetContactsByName
In the following example all contact persons and organizations with “jones” in the name (case-insensitive) of rooms with Import ID “Room_A1” are retrieved.
Example |
---|
SOAP Request <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:fsc="http://schemas.fabasoft.com/websvc/FSCCONTACTMGMT_1_1001_ContactWebService/"> <soap:Header/> <soap:Body> <fsc:GetContactsByName> <fsc:name>Jones</fsc:name> <fsc:contactroomkey>Room_A1</fsc:contactroomkey> <fsc:contactclass></fsc:contactclass> <fsc:contactconfigkey></fsc:contactconfigkey> </fsc:GetContactsByName> </soap:Body> </soap:Envelope> JSON Request { "name": "Jones", "contactroomkey": "Room_A1", "contactclass": "", "contactconfigkey": "" } |
UpdateContact
In the following example a contact person is created or updated (identified by Import ID “P1”) . In addition to the surname and first name two addresses and two websites are defined.
Note: If overridekeys is defined for a property, empty values are considered and in case of lists existing entries are removed. Otherwise, empty values are ignored and new values are added to a list. In this example, the websites property will have the defined two entries (existing entries are removed) and the academic title will be emptied.
A special case are general object class properties (like objsubject) and fields of user-defined forms. If you add a user-defined form category (COOTC_1_1001_objcategory) to a contact, you can also define the values of the user-defined fields within the FSCAPPTOOLS_1_1001_additionalfields block. Within this block the default override keys are not working. You can use FSCAPPTOOLS_1_1001_ftoverwrite instead (only works for list properties). Empty values of single properties are always considered. In the following example the user-defined form category COO.1.506.1.1005845 that provides a string property with programming name UDName and a list property with programming name UDList is assigned to the contact. ftoverwrite is set to true for the list.
Example |
---|
SOAP Request <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:fsc="http://schemas.fabasoft.com/websvc/FSCCONTACTMGMT_1_1001_ContactWebService/"> <soap:Header/> <soap:Body> <fsc:UpdateContact> <fsc:data> <fsc:FSCCONTACTMGMT_1_1001_contactroomid>Room_A1 </fsc:FSCCONTACTMGMT_1_1001_contactroomid> <fsc:FSCCONTACTMGMT_1_1001_contactclassid>ContactRoomPerson </fsc:FSCCONTACTMGMT_1_1001_contactclassid> <fsc:FSCCONTACTMGMT_1_1001_contactid>P1 </fsc:FSCCONTACTMGMT_1_1001_contactid> <fsc:COOTC_1_1001_objcategory>COO.1.506.1.1005845 </fsc:COOTC_1_1001_objcategory> <fsc:COOSYSTEM_1_1_usersurname>Jones </fsc:COOSYSTEM_1_1_usersurname> <fsc:COOSYSTEM_1_1_userfirstname>Cadence </fsc:COOSYSTEM_1_1_userfirstname> <fsc:FSCCONTACTMGMT_1_1001_persacademictitle> </fsc:FSCCONTACTMGMT_1_1001_persacademictitle> <fsc:FSCFOLIO_1_1001_address> <fsc:FSCFOLIO_1_1001_Address> <fsc:FSCFOLIO_1_1001_addrstreet>Honauerstr. 4 </fsc:FSCFOLIO_1_1001_addrstreet> <fsc:FSCFOLIO_1_1001_addrzipcode>4020 </fsc:FSCFOLIO_1_1001_addrzipcode> <fsc:FSCFOLIO_1_1001_addrcity>Linz </fsc:FSCFOLIO_1_1001_addrcity> <fsc:FSCFOLIO_1_1001_addrtopic>COO.1.1001.1.182477 </fsc:FSCFOLIO_1_1001_addrtopic> <fsc:FSCCONTACTMGMT_1_1001_scopecontactroom>COO.1.506.3.2422 </fsc:FSCCONTACTMGMT_1_1001_scopecontactroom> </fsc:FSCFOLIO_1_1001_Address> <fsc:FSCFOLIO_1_1001_Address> <fsc:FSCFOLIO_1_1001_addrstreet>Hauptplatz 1 </fsc:FSCFOLIO_1_1001_addrstreet> <fsc:FSCFOLIO_1_1001_addrzipcode>4020 </fsc:FSCFOLIO_1_1001_addrzipcode> <fsc:FSCFOLIO_1_1001_addrcity>Linz </fsc:FSCFOLIO_1_1001_addrcity> <fsc:FSCFOLIO_1_1001_addrtopic>COO.1.1001.1.182478 </fsc:FSCFOLIO_1_1001_addrtopic> <fsc:FSCCONTACTMGMT_1_1001_scopecontactroom>COO.1.506.3.2422 </fsc:FSCCONTACTMGMT_1_1001_scopecontactroom> </fsc:FSCFOLIO_1_1001_Address> </fsc:FSCFOLIO_1_1001_address> <fsc:FSCFOLIO_1_1001_website> <fsc:string>https://www.fabasoft.com</fsc:string> <fsc:string>https://www.fabasoft.at</fsc:string> </fsc:FSCFOLIO_1_1001_website> <fsc:FSCCONTACTMGMT_1_1001_overridekeys> <fsc:string>persacademictitle</fsc:string> <fsc:string>website</fsc:string> </fsc:FSCCONTACTMGMT_1_1001_overridekeys> <fsc:FSCAPPTOOLS_1_1001_additionalfields> <fsc:FSCAPPTOOLS_1_1001_FieldType> <fsc:FSCAPPTOOLS_1_1001_ftreference>UDName </fsc:FSCAPPTOOLS_1_1001_ftreference> <fsc:FSCAPPTOOLS_1_1001_ftvalue> <fsc:string>User-Defined Name</fsc:string> </fsc:FSCAPPTOOLS_1_1001_ftvalue> </fsc:FSCAPPTOOLS_1_1001_FieldType> <fsc:FSCAPPTOOLS_1_1001_FieldType> <fsc:FSCAPPTOOLS_1_1001_ftreference>UDList </fsc:FSCAPPTOOLS_1_1001_ftreference> <fsc:FSCAPPTOOLS_1_1001_ftvalue> <fsc:string>COO.1.30001.1.3139</fsc:string> <fsc:string>COO.1.30001.1.3140</fsc:string> </fsc:FSCAPPTOOLS_1_1001_ftvalue> <fsc:FSCAPPTOOLS_1_1001_ftoverwrite>true </fsc:FSCAPPTOOLS_1_1001_ftoverwrite> </fsc:FSCAPPTOOLS_1_1001_FieldType> </fsc:FSCAPPTOOLS_1_1001_additionalfields> </fsc:data> </fsc:UpdateContact> </soap:Body> </soap:Envelope> JSON Request { "data": { "contactroomid": "Room_A1", "contactclassid": "ContactRoomPerson", "contactid": "P1", "objcategory": "COO.1.506.1.1005845", "usersurname": "Jones", "userfirstname": "Cadence", "persacademictitle": "", "address": [ { "addrstreet": "Honauerstr. 4", "addrzipcode": 4020, "addrcity": "Linz", "addrtopic": "COO.1.1001.1.182477", "scopecontactroom": "COO.1.506.3.2422" }, { "addrstreet": "Hauptplatz 1", "addrzipcode": 4020, "addrcity": "Linz", "addrtopic": "COO.1.1001.1.182478", "scopecontactroom": "COO.1.506.3.2422" } ], "website": [ "https://www.fabasoft.com", "https://www.fabasoft.at" ], "overridekeys": [ "persacademictitle", "website" ] , "additionalfields": [ { "ftreference": "UDName", "ftvalue": "User-Defined Name" }, { "ftreference": "UDList", "ftvalue": [ "COO.1.30001.1.3139", "COO.1.30001.1.3140" ], "ftoverwrite": "true" } ] } } |
DeleteContact
In the following example the contact with Import ID “Contact_C12” of room with Import ID “Room_A1” is deleted. If more than one contact is found, an error is returned.
Example |
---|
SOAP Request <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:fsc="http://schemas.fabasoft.com/websvc/FSCCONTACTMGMT_1_1001_ContactWebService/"> <soap:Header/> <soap:Body> <fsc:DeleteContact> <fsc:contactroomid>Room_A1</fsc:contactroomid> <fsc:contactid>Contact_C12</fsc:contactid> </fsc:DeleteContact> </soap:Body> </soap:Envelope> JSON Request { "contactroomid": "Room_A1", "contactid": "Contact_C12" } |