API Reference | |||||||||||||||||||||||||||||||||||||||||||||
The EBSuite Web Service APIs expose powerful features and functionalities available to outside developers. To use these APIs
you will need an account (subscription) that is active, a user with an 'Admin' role, and a set of API Credentials.
For details of getting started, and acquiring the API Credentials, please contact nzhong@ebsuite.com, with email subject "Web Service APIs". | |||||||||||||||||||||||||||||||||||||||||||||
APIs | |||||||||||||||||||||||||||||||||||||||||||||
EBSuite offers the following API operations.
|
SessionAuthenticatorAPI ( WSDL: https://ebsuite.com/cxf/SessionAuthenticatorAPI?wsdl ) | |
A typical web service client application will call this API first, to create / obtain a session Id, and then perform a series of additional web service calls. The followup calls will use the session Id obtained here. | |
INPUT: clientID / clientPswd, the API Credentials for your account ( subscription ) OUTPUT: sessionId, to be used in subsequent api calls. INPUT: companyName / loginUN / loginPW, Your regular 3-point login ( company name, user name, password ) OUTPUT: sessionId, to be used in subsequent api calls. ERROR HANDLING: If success, sessionId should start with "SESSIONID:" (without ""). Otherwise it should display the error message. NOTE: In subsequent calls, the valid sessionId should be minus "SESSIONID:" (without""). ( for example, sessionId = sessionId.substring("SESSIONID:".length()); ) This is for backward compatibility. |
OrgAPI ( WSDL: https://ebsuite.com/cxf/OrgAPI?wsdl ) | |
APIs to manipulate Organization records. You can retrieve, search, create, and update org records. Phones / Emails / Addresses / Notes / Custom Fields are supported. | |
NOTE: - When you've been using EBSuite CRM for a while, and have a large number of organization records, we do not recomment using the getAllOrganizations() method, as it retrieves all records without any filter, thus slowing down the API. - Use searchOrganizations() to do simple name search, use getOrganizationsByViewName() to do complex search. ( You will have to define the view via browser first ). - getAllOrganizations(), searchOrganizations(), getOrganizationsByViewName() return Organization records with basic (built-in fields) information. getOrganizationDetail() returns basic + Phone/Email/Address/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: OrganizationList, an array of object of type Organization. (You should use a tool like WSDL2Java to generate Organization and OrganizationList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI. viewName, the name of the view you defined via browser UI. OUTPUT: OrganizationList, an array of object of type Organization. You can define your search query and save it as a view, and use this API to retrieve the search result. INPUT: sessionId, obtained from SessionAuthenticatorAPI. searchStr, search string, seperated by comma (,). OUTPUT: OrganizationList, an array of object of type Organization. This API will search by Organization Name, Email, Phone, and Address. For complex searches, you should define the search as a Custom View, and use the previous API getOrganizationsByViewName(). INPUT: sessionId, obtained from SessionAuthenticatorAPI. orgId: the customer id, not the customer number. You can obtain the id from the previous 3 APIs. OUTPUT: an Organization record, complete with basic info, plus Phone/Email/Address/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. o, the Organization record. OUTPUT: an Organization record, updated version. This API can be used to both update an existing Organization record, or create a new one. to create a new record, pass in the Organization record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new OrganizationId and OrganizationNumber are populated. |
PsnAPI ( WSDL: https://ebsuite.com/cxf/PsnAPI?wsdl ) | |
APIs to manipulate Contact records. You can retrieve, search, create, and update contact records. Phones / Emails / Addresses / Notes / Custom Fields are supported. | |
NOTE: - When you've been using EBSuite CRM for a while, and have a large number of contact records, we do not recomment using the getAllContacts() method, as it retrieves all records without any filter, thus slowing down the API. - Use searchContacts() and/or searchContactsByFirstAndLast() to do simple name search, use getContactsByViewName() to do complex search. ( You will have to define the view via browser first ). - getAllContacts(), getAllContactsSync(), searchContacts(), searchContactsByFirstAndLast(), getContactsByViewName() return Contact records with basic (built-in fields) information. getContactDetail() returns basic + Phone/Email/Address/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: ContactList, an array of object of type Contact. (You should use a tool like WSDL2Java to generate Contact and ContactList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI. lastTouchDate, in "MM/dd/yyyy HH:mm:ss" format. OUTPUT: ContactList, an array of object of type Contact. Used in Sync routine. Retrieve only the recently touched (newly created, or recently updated since lastTouchDate). INPUT: sessionId, obtained from SessionAuthenticatorAPI. viewName, the name of the view you defined via browser UI. OUTPUT: ContactList, an array of object of type Contact. You can define your search query and save it as a view, and use this API to retrieve the search result. INPUT: sessionId, obtained from SessionAuthenticatorAPI. searchStr, search string, seperated by comma (,). OUTPUT: ContactList, an array of object of type Contact. This API will search by Contact Name, Email, Phone, and Address. For complex searches, you should define the search as a Custom View, and use the previous API getContactsByViewName(). INPUT: sessionId, obtained from SessionAuthenticatorAPI. firstName, lastName, pass in partial/full name, or empty string. OUTPUT: ContactList, an array of object of type Contact. If you know the (partial/full) FirstName and/or LastName, you can call this API to perform the search. You can pass in one value as an empty string to only search by Last Name for example. INPUT: sessionId, obtained from SessionAuthenticatorAPI. contactId: the contact id, not the contact number. You can obtain the id from the previous query APIs. OUTPUT: a Contact record, complete with basic info, plus Phone/Email/Address/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. c, the Contact record. OUTPUT: an Contact record, updated version. This API can be used to both update an existing Contact record, or create a new one. to create a new record, pass in the Contact record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new ContactId and ContactNumber are populated. The above saveContactRecord() will fail if there is a duplicate firstName/LastName pair. If you need to create a different contact record with the same firstName/LastName pair, you should call saveContactRecordAllowDup() with allowDup = "Y". |
OppAPI ( WSDL: https://ebsuite.com/cxf/OppAPI?wsdl ) | |
APIs to manipulate Opportunity records. You can retrieve, search, create, and update opp records. Purchase Items/ Notes / Custom Fields are supported. | |
NOTE: - When you've been using EBSuite CRM for a while, and have a large number of opportunity records, we do not recomment using the getAllOpportunities() method, as it retrieves all records without any filter, thus slowing down the API. - Use searchOpportunities() to do simple name search, use getOpportunitiesByViewName() to do complex search. ( You will have to define the view via browser first ). - getAllOpportunities(), searchOpportunities(), getOpportunitiesByViewName() return Opportunity records with basic (built-in fields) information. getOpportunityDetail() returns basic + Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: OpportunityList, an array of object of type Opportunity. ( You should use a tool like WSDL2Java to generate Opportunity and OpportunityList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI. viewName, the name of the view you defined via browser UI. OUTPUT: OpportunityList, an array of object of type Opportunity. You can define your search query and save it as a view, and use this API to retrieve the search result. INPUT: sessionId, obtained from SessionAuthenticatorAPI. searchStr, search string, seperated by comma (,). OUTPUT: OpportunityList, an array of object of type Opportunity. This API will search by Opportunity Name and Description. For complex searches, you should define the search as a Custom View, and use the previous API getOpportunitiesByViewName(). INPUT: sessionId, obtained from SessionAuthenticatorAPI. oppId: the opportunity id, not the opp number. You can obtain the id from the previous query APIs. OUTPUT: a Opportunity record, complete with basic info, plus Purchase Item/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. opp, the Opportunity record. OUTPUT: an Opportunity record, updated version. This API can be used to both update an existing Opp record, or create a new one. to create a new record, pass in the Opportunity record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new oppId and oppNumber are populated. |
CseAPI ( WSDL: https://ebsuite.com/cxf/CseAPI?wsdl ) | |
APIs to manipulate Case records. You can retrieve, search, and update Case records. Notes / Custom Fields are supported. | |
NOTE: - When you've been using EBSuite CRM for a while, and have a large number of case records, we do not recomment using the getAllCases() method, as it retrieves all records without any filter, thus slowing down the API. You can use getAllOpenCases() instead. - getAllCases(), getAllOpenCases(), getCasesByAssignedUser(), getOpenCasesByAssignedUser() return Case records with basic (built-in fields) information. getCaseDetail() returns basic + Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: CaseList, an array of object of type CaseEO. ( You should use a tool like WSDL2Java to generate CaseEO and CaseList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: CaseList, an array of object of type CaseEO. ( You should use a tool like WSDL2Java to generate CaseEO and CaseList ) Get all cases that have not been closed. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, the assignee's username OUTPUT: CaseList, an array of object of type CaseEO. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, the assignee's username OUTPUT: CaseList, an array of object of type CaseEO. INPUT: sessionId, obtained from SessionAuthenticatorAPI. cseId: the case id, not the case number. You can obtain the id from the previous query APIs. OUTPUT: a CaseEO record, complete with basic info, plus Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. c, the CaseEO record. OUTPUT: an CaseEO record, updated version. This API can be used to both update an existing case record, or create a new one. to create a new record, pass in the CaseEO record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new caseId and caseNumber are populated. |
SolAPI ( WSDL: https://ebsuite.com/cxf/SolAPI?wsdl ) | |
APIs to manipulate Knowledge records. You can retrieve, search, and update Knowledge records. Notes / Custom Fields are supported. | |
NOTE: - getAllSolutions(), getSolutionsByProductCategory() return knowledge records with basic (built-in fields) information. getSolutionDetail() returns basic + Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: SolutionList, an array of object of type SolutionEO. ( You should use a tool like WSDL2Java to generate SolutionEO and SolutionList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI. pcatName, either the category name, or the category key. OUTPUT: SolutionList, an array of object of type SolutionEO. This API will return all knowledges under the given product category. INPUT: sessionId, obtained from SessionAuthenticatorAPI. solId: the solution id. You can obtain the id from the previous query APIs. OUTPUT: a SolutionEO record, complete with basic info, plus Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. s, the SolutionEO record. OUTPUT: an SolutionEO record, updated version. This API can be used to both update an existing knowledge record, or create a new one. to create a new record, pass in the SolutionEO record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new solutionId and solutionNumber are populated. |
ApptAPI ( WSDL: https://ebsuite.com/cxf/ApptAPI?wsdl ) | |
APIs to manipulate Appointment records. You can retrieve, search, and update Appointment records. Attendees / References / Notes / Custom Fields are supported. Support Sync functionality. | |
INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: an integer representing the next sequence id for a calendar appointment Sync. This is purly for sync purpose, and you should not use it unless you are sure you need to call this method. INPUT: sessionId, obtained from SessionAuthenticatorAPI. lastTouchDate, in "MM/dd/yyyy HH:mm:ss" format. OUTPUT: AppointmentList, an array of object of type Appointment. Used in Sync routine. Retrieve only the recently touched records (newly created, or recently updated since lastTouchDate). INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: AppointmentList, an array of object of type Appointment. ( You should use a tool like WSDL2Java to generate Appointment and AppointmentList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, return all appointments which has this user as an attendee. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, return all open appointments which has this user as an attendee. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. startDate, endDate in"2008.JAN.01" format. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. startDate, endDate in"2008.JAN.01" format. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. startDate, endDate in"2008.JAN.01" format. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. startDate, endDate in"2008.JAN.01" format. OUTPUT: AppointmentList, an array of object of type Appointment. INPUT: sessionId, obtained from SessionAuthenticatorAPI. apptId: the appointment id. You can obtain the id from the previous query APIs. OUTPUT: a Appointment record, complete with basic info, plus Attendees/References/Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. appt, the Appointment record. OUTPUT: an Appointment record, updated version. This API can be used to both update an existing appointment record, or create a new one. to create a new record, pass in the Appointment record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new appointmentId are populated. Call saveAppointmentRecord, as well as add the current user (authenticating with the web service API) as an attendee. |
TaskAPI ( WSDL: https://ebsuite.com/cxf/TaskAPI?wsdl ) | |
APIs to manipulate Task records. You can retrieve, search, and update Task records. Notes / Custom Fields are supported. Support Sync functionality. | |
INPUT: sessionId, obtained from SessionAuthenticatorAPI. lastTouchDate, in "MM/dd/yyyy HH:mm:ss" format. OUTPUT: TaskList, an array of object of type Task. Used in Sync routine. Retrieve only the recently touched records (newly created, or recently updated since lastTouchDate). INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: TaskList, an array of object of type Task. ( You should use a tool like WSDL2Java to generate Task and TaskList ) INPUT: sessionId, obtained from SessionAuthenticatorAPI OUTPUT: TaskList, an array of object of type Task. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, return all tasks assigned to this user. OUTPUT: TaskList, an array of object of type Task. INPUT: sessionId, obtained from SessionAuthenticatorAPI. userName, return all open tasks assigned to this user. OUTPUT: TaskList, an array of object of type Task. INPUT: sessionId, obtained from SessionAuthenticatorAPI. taskId: the Task id. You can obtain the id from the previous query APIs. OUTPUT: a Task record, complete with basic info, plus Custom Field/Note data. INPUT: sessionId, obtained from SessionAuthenticatorAPI. t, the Task record. OUTPUT: an Task record, updated version. This API can be used to both update an existing task record, or create a new one. to create a new record, pass in the Task record with ID <= 0. to update, pass with a positive ID. The return parameter is an updated version of record passed in. In case of a Create, the new taskId and taskNumber are populated. |
Please see here and here for some java sample code tutorials. |