API Sections
Preamble
The Solve360 External API is implemented over HTTP and is RESTful. Every item has its own URI and is manipulated in isolation.
You will normally send your Request data in XML format, but we understand JSON and form encoded data just as well. If you want to use a non-XML request format simply set the HTTP Content-type header to either application/json or application/x-www-form-urlencoded. conversely, we will normally send response data in XML form unless you set the HTTP Accepts header to application/json.
Remember, access to features and data is limited to the actual user account being used to access the API.
Interface Summary at https://secure.solve360.com
| URI | HTTP Methods |
|---|---|
| /report/nextactions/ | [GET] |
| /report/followups/ | [GET] |
| /report/opportunities/ | [GET] |
| /report/activities/ | [GET] |
| /report/timetracking/ | [GET] |
Methods
https://secure.solve360.com/report/timetracking/?start=2009-08-02&end=2009-08-08
Or
curl -u '{userEmail}:{userApiToken}' -v -X GET -H 'Content-Type: application/xml' -o 'result.xml' -d '<request><start>2009-08-02</start><end>2009-08-08</end></request>' https://secure.solve360.com/report/timetracking/
Or
curl -u '{userEmail}:{userApiToken}' -v -X GET -o 'result.xml' 'https://secure.solve360.com/report/timetracking/?start=2009-08-02&end=2009-08-08'
...
<response>
<timerecords>
<timerecord>
<id>137875</id>
<type>15</type>
<itemid>137302</itemid>
<itemtype>1</itemtype>
<tasklistid>137853</tasklistid>
<taskid>137854</taskid>
<owner>137201</owner>
<created>2009-08-18T21:31:18+00:00</created>
<billable>1</billable>
<person>137201</person>
<hours>2.5</hours>
<date>2009-08-02T00:00:00+00:00</date>
<invoiced>42263</invoiced>
<details>Integrated Solve360 with billing system</details>
<itemname>John Smith</itemname>
<tasklistname>tasklist</tasklistname>
<taskname>one test task</taskname>
</timerecord>
...
</timerecords>
<status>success</status>
</response>
Parameters
| URI | Description | Accepted values |
|---|---|---|
| /report/nextactions | List open tasks, events and milestones. |
filter (integer [user id, group id]), or filter (integer [no one=0, anyone=<empty>] due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
| /report/followups | List open follow-ups. |
responsible (integer [user id, group id]), or responsible (integer [no one=0, anyone=<empty>] due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
| /report/opportunities | Lists opportunities by user and status criteria. |
filter (integer [user id, group id]), or filter (integer [no one=0, anyone=<empty>] status (string [discussion, pending, won, lost, on-hold]) due (string [now, next7, next30, nodate, or dateFrom,dateTo]), or not sending due will not filter by date itemsdata (integer [0=do not include parent data, 1=include parent data]) |
| /report/activities | List activities that have been created, modified, created or modified, or when specifying only tasks, completed, matching many different critera. |
types (integer [3, 4, 6, 14, 23, 24, 32, 73, 88]) last (string [created, updated, changed, completed]) users (integer [group id, user id]) start (date) end (date) categories (integer) itemtypes (integer [1, 2, 40]) itemsdata (integer [0=do not include parent data, 1=include parent data]) |
| /report/timetracking | Lists time records matching a specific date range and status. |
start (date) end (date) filter (string, [invoiced, billable, non-billable] itemtypes (integer [1, 2, 40]) itemsdata (integer [0=do not include parent data, 1=include parent data]) |
Activity types: note=3, event=4, followup=6, task=14, file=23, photo=24, opportunity=32, event (non-linked)=61, call log=73, scheduled email=88