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.
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: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:data> </fsc:UpdateContact> </soap:Body> </soap:Envelope> JSON Request { "data": { "contactroomid": "Room_A1", "contactclassid": "ContactRoomPerson", "contactid": "P1", "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" ] } } |
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" } |