API
Exsalerate API Overview
Introduction
Welcome to Exsalerate API. We use a RESTful style web api, with basic authentication over ssl. You must pass in your credentials with each api call. See below for detailed information on the available API methods we provide.
Document
API | Description |
---|---|
POST api/Document/Add | Add one document to an activity by posting json document model object, for this site, customer and activity. Required form data: CustomerId or CustomerRefCode, ActivityId |
GET api/Document?siteOwnerId={siteOwnerId}&customerId={customerId}&documentId={documentId} | Fetch the document for this customer and site. Required: SiteOwnerId, CustomerId, DocumentId. |
GET api/Document?siteOwnerId={siteOwnerId}&customerId={customerId}&customerRefCode={customerRefCode}&filterType={filterType} | Fetch the available document list information for this customer and site. Required: SiteOwnerId, CustomerId OR CustomerRefCode. |
POST api/Document | Add documents to an activity by posting multipart/form-data for this site, customer and activity. Required form data: SiteOwnerId, CustomerId or CustomerRefCode, ActivityId |
Customer
API | Description |
---|---|
GET api/Customer/Search/{searchString} | Search active customers by name via search string |
GET api/Customer/ContactEmail?siteOwnerId={siteOwnerId}&contactEmail={contactEmail} | Get list of Customers by SiteOwnerId and contact email address |
PUT api/Customer | Update a customer entry in Exsalerate, or if it doesn’t exist create customer. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Required: CustomerName, AssignedToEmail. |
POST api/Customer | Create a new customer for a specific site owner. Required: CustomerName, AssignedToEmail. Returns: CustomerId |
GET api/Customer?siteOwnerId={siteOwnerId} | Get total Customer count for a SiteOwnerId |
GET api/Customer?siteOwnerId={siteOwnerId}&refCode={refCode} | Get Customer by SiteOwnerId and Reference Code |
GET api/Customer?siteOwnerId={siteOwnerId}&page={page}&modifiedSince={modifiedSince}&phase={phase} | Get a Paged list of active companies by siteownerid (100 at time). Page starts at 0. Optionally provide a modified date to filter by only those modified since. Optionally provide a phase to filter by matching phase name. |
SiteOwner
API | Description |
---|---|
POST api/SiteOwner | Create a new Site Owner in Exsalerate. Required: CompanyName, Phone, Country. |
GET api/SiteOwner | Returns Site Owner Information. |
Turnover
API | Description |
---|---|
PUT api/Turnover | Update turnover entries in Exsalerate – by LinkId This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Note: Optional GrossMarginValue/GrossMarginPercent – only provide one or other not both. Exsalerate will calculate the other field. Required: SiteOwnerId, LinkId, Year, Month, Amount |
CustomerAddress
API | Description |
---|---|
GET api/CustomerAddress?siteOwnerId={siteOwnerId}&customerId={customerId} | Get the primary address for this customer. Required: SiteOwnerId, CustomerId |
PUT api/CustomerAddress | Update the primary address for a customer. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Required: SiteOwnerId, CustomerId or RefCode |
POST api/CustomerAddress | Create a new Customer Address. Required: SiteOwnerId, CustomerId or RefCode |
Contact
API | Description |
---|---|
GET api/Contact?siteOwnerId={siteOwnerId}&customerId={customerId} | List all Contacts for a customer. Required: SiteOwnerId, CustomerId. |
POST api/Contact | Create a new Contact for a customer. Required: SiteOwnerId, CustomerId, FirstName, LastName. |
PUT api/Contact | Update a contact entry in Exsalerate, or if it doesn’t exist create contact. This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. Contact is located by either refcode or name. Customer is located by either CustomerID or CustomerRefCode. Required: SiteOwnerId, CustomerId or CustomerRefCode, FirstName, LastName. |
SiteUser
API | Description |
---|---|
POST api/SiteUser | Create a new Site User in Exsalerate. The new user will be emailed welcome instructions to initiate their password. required: All properties. |
GET api/SiteUser?userId={userId}&userName={userName} | Validate this user is an active site user in Exsalerate |
Activity
API | Description |
---|---|
GET api/Activity?siteOwnerId={siteOwnerId}&startDate={startDate}&endDate={endDate}&salesRep={salesRep}&accountManager={accountManager}&customerRefCode={customerRefCode} | Fetch Activity Detail Report data |
GET api/Activity?siteOwnerId={siteOwnerId} | Fetch Activity Types |
PUT api/Activity?siteOwnerId={siteOwnerId}&activityId={activityId}¬es={notes} | Append notes to an existing activity |
POST api/Activity | Create a new activity for a specific customer Required: SiteOwnerId, Subject, ActivityType. Returns: ActivityId |
Calendar
API | Description |
---|---|
GET api/Calendar?siteOwnerId={siteOwnerId} | Query if Add In has calendar control |
PUT api/Calendar?siteOwnerId={siteOwnerId}&hasControl={hasControl} | Set Add In calendar control |
POST api/Calendar | Create a new calendar activity for a specific customer Required: SiteOwnerId, Subject, ActivityType, ActivityDateTime, RecurrenceType Agenda – Notes for everyone, Description – Internal notes for your team only, RecurrenceType: 0 – none, 1 – Daily, 2 – Weekly, 3 – Monthly RecurrenceRepeats: repeat x times , RecurrenceInterval: every x recurrence type. Eg: Every 2 Days repeats 3 times Returns: ActivityId |
DELETE api/Calendar?siteOwnerId={siteOwnerId}&uniqueId={uniqueId}&activityDateTime={activityDateTime}&allInstances={allInstances} | Delete a calendar activity. Optionally, all recurring instances. |
PUT api/Calendar | Update an existing calendar activity via the unique id This is an all or nothing update, meaning you can’t do partial updates (patch). If you do not provide a property it will be set to empty. By default only this instance (by date/time and unique ID) is modified. To also modify all subsequent recurrences, set the AllInstances to true. To modify the date/time set the ActivityModifiedDateTime parameter. |