https://api.aceproject.com/?fct=getprojects&guid=a242c533-80d9-4a81-9003-e562056b9a6a&projectid=NULL&portfolioid=NULL&filterprojectstatusid=NULL&isgroupingprojectstatus=NULL&filterprojecttypeid=NULL&filterprojectpriorityid=NULL&filtercompletedproject=NULL&filterclientid=NULL&projecttemplate=NULL&filtercreatoruserid=NULL&filterassigneduserid=NULL&filtermarkedonly=False&filterfirstdate=NULL&filterfirstdateoperator=NULL&filterfirstdatevalue=NULL&filterseconddate=NULL&filterseconddateoperator=NULL&filterseconddatevalue=NULL&texttosearch=NULL&sortorder=NULL&useshowhide=False&assignedonly=False&forgantt=False&ispmview=NULL&onlyprojectcanaddtask=False&onlytimeapproval=False&onlyexpenseapproval=False&onlycanopenproject=False&onlyprojectmanager=False&forcombo=False&pagenumber=NULL&rowsperpage=NULL&deletedprojects=False&asynccall=False&asynccallid=NULL&exportdomainevaleur=NULL&exporttype=NULL&exportdelimiter=NULL&exportdecimalsymbol=NULL&exportlcid=0&exportonscreencolumnsonly=True&exportview=0&exportviewother=NULL&exportfieldstodisplay=NULL&exportremovehtmlonly=True&exportenablefilterxls=False&format=DS
Guid |
String |
False |
|
|
|
|
|
True |
Unique identifier for the authenticated user. The GUID has an expiry date and time which is managed automatically by the API. |
Projectid |
String |
True |
|
|
NULL |
|
|
False |
Auto-generated unique identifier of a project. |
PortfolioId |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a Portfolio. |
Filterprojectstatusid |
Integer |
True |
|
|
NULL |
|
|
True |
|
IsGroupingProjectStatus |
Boolean |
True |
|
True or False |
NULL |
|
|
True |
|
Filterprojecttypeid |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a project type to filter on. |
Filterprojectpriorityid |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a project priority to filter on. |
Filtercompletedproject |
Boolean |
True |
|
True or False |
NULL |
|
|
False |
Indicates whether to filter on project status (completed, incomplete or all) |
Filterclientid |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a project's client to filter on. |
ProjectTemplate |
String |
True |
|
|
NULL |
|
|
True |
|
Filtercreatoruserid |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a user to filter on creators. |
Filterassigneduserid |
Integer |
True |
|
|
NULL |
|
|
False |
Unique identifier of a user to filter on assignees. |
Filtermarkedonly |
String |
False |
|
|
False |
|
|
True |
Filter list based on marked by the calling user. |
FilterFirstDate |
String |
True |
|
|
NULL |
|
|
True |
|
FilterFirstDateOperator |
Integer |
True |
|
|
NULL |
|
|
True |
|
FilterFirstDateValue |
Date |
True |
|
|
NULL |
|
|
True |
|
FilterSecondDate |
String |
True |
|
|
NULL |
|
|
True |
|
FilterSecondDateOperator |
Integer |
True |
|
|
NULL |
|
|
True |
|
FilterSecondDateValue |
Date |
True |
|
|
NULL |
|
|
True |
|
Texttosearch |
String |
True |
|
|
NULL |
|
|
False |
Search list based on specified text |
SortOrder |
String |
True |
|
|
NULL |
|
|
False |
Comma separated fields used for ordering a list. |
Useshowhide |
Boolean |
False |
|
True or False |
False |
|
|
True |
Indicates whether to use the calling user's Show/Hide settings to filter and sort data and to filter returned columns. |
Assignedonly |
Boolean |
False |
|
True or False |
False |
|
|
True |
Indicates whether to filter the list based on assigned project's only. This parameter is ignored if the calling user is not an administrator. Only assigned projects are returned for non administrators. |
Forgantt |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
IsPmView |
Boolean |
True |
|
True or False |
NULL |
|
|
True |
|
OnlyProjectCanAddTask |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
OnlyTimeApproval |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
OnlyExpenseApproval |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
OnlyCanOpenProject |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
OnlyProjectManager |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
ForCombo |
Boolean |
False |
|
True or False |
False |
|
|
False |
Indicates whether returns a simplified list to display drop-down list. |
PageNumber |
Integer |
True |
|
NULL or greater than 0 |
NULL |
|
|
False |
When the page number is not NULL, the API returns only the entries of the specified page within the list. A default rows per page is used within the API to determine pages if RowsPerPage parameter is not specified. |
RowsPerPage |
Integer |
True |
|
NULL or greater than 0 |
NULL |
|
|
False |
When the number of rows per page is NULL, the API uses the default value in the system. This parameter is used only when PageNumber has a value. |
Deletedprojects |
Boolean |
False |
|
True or False |
False |
|
|
True |
Indicates whether to filter on deleted projects. |
Asynccall |
Boolean |
False |
|
True or False |
False |
|
|
True |
|
Asynccallid |
Integer |
True |
|
|
NULL |
|
|
True |
|
ExportDomaineValeur |
String |
True |
|
|
NULL |
|
|
True |
|
ExportType |
String |
True |
|
|
NULL |
|
|
True |
|
ExportDelimiter |
String |
True |
|
|
NULL |
|
|
True |
|
ExportDecimalSymbol |
String |
True |
|
|
NULL |
|
|
True |
|
ExportLCID |
Integer |
True |
|
|
0 |
|
|
True |
|
ExportOnScreenColumnsOnly |
Boolean |
True |
|
True or False |
True |
|
|
True |
|
ExportView |
Integer |
True |
|
|
0 |
|
|
True |
|
ExportViewOther |
Integer |
True |
|
|
NULL |
|
|
True |
|
ExportFieldsToDisplay |
String |
True |
|
|
NULL |
|
|
True |
|
ExportRemoveHTMLOnly |
Boolean |
True |
|
True or False |
True |
|
|
True |
|
ExportEnableFilterXLS |
Boolean |
True |
|
True or False |
False |
|
|
True |
|
Format |
String |
False |
|
RS: RecordSet DS: DataSet JSON: JSON |
DS |
|
|
True |
Return Format |
Public Class Sample
Public Sub CodeSample_getprojects()
Dim strXML As String = String.Empty
Dim dsOutput As DataSet = Nothing
Dim guid As String = String.Empty
Dim sb As New System.Text.StringBuilder
Try
sb = New System.Text.StringBuilder
sb.Append("fct=getprojects")
sb.Append(String.Format("&guid={0}", "2b423052-e759-432d-9314-c4bb695a1147"))
sb.Append(String.Format("&projectid={0}", "NULL"))
sb.Append(String.Format("&portfolioid={0}", "NULL"))
sb.Append(String.Format("&filterprojectstatusid={0}", "NULL"))
sb.Append(String.Format("&isgroupingprojectstatus={0}", "NULL"))
sb.Append(String.Format("&filterprojecttypeid={0}", "NULL"))
sb.Append(String.Format("&filterprojectpriorityid={0}", "NULL"))
sb.Append(String.Format("&filtercompletedproject={0}", "NULL"))
sb.Append(String.Format("&filterclientid={0}", "NULL"))
sb.Append(String.Format("&projecttemplate={0}", "NULL"))
sb.Append(String.Format("&filtercreatoruserid={0}", "NULL"))
sb.Append(String.Format("&filterassigneduserid={0}", "NULL"))
sb.Append(String.Format("&filtermarkedonly={0}", "False"))
sb.Append(String.Format("&filterfirstdate={0}", "NULL"))
sb.Append(String.Format("&filterfirstdateoperator={0}", "NULL"))
sb.Append(String.Format("&filterfirstdatevalue={0}", "NULL"))
sb.Append(String.Format("&filterseconddate={0}", "NULL"))
sb.Append(String.Format("&filterseconddateoperator={0}", "NULL"))
sb.Append(String.Format("&filterseconddatevalue={0}", "NULL"))
sb.Append(String.Format("&texttosearch={0}", "NULL"))
sb.Append(String.Format("&sortorder={0}", "NULL"))
sb.Append(String.Format("&useshowhide={0}", False))
sb.Append(String.Format("&assignedonly={0}", False))
sb.Append(String.Format("&forgantt={0}", False))
sb.Append(String.Format("&ispmview={0}", "NULL"))
sb.Append(String.Format("&onlyprojectcanaddtask={0}", False))
sb.Append(String.Format("&onlytimeapproval={0}", False))
sb.Append(String.Format("&onlyexpenseapproval={0}", False))
sb.Append(String.Format("&onlycanopenproject={0}", False))
sb.Append(String.Format("&onlyprojectmanager={0}", False))
sb.Append(String.Format("&forcombo={0}", False))
sb.Append(String.Format("&pagenumber={0}", "NULL"))
sb.Append(String.Format("&rowsperpage={0}", "NULL"))
sb.Append(String.Format("&deletedprojects={0}", False))
sb.Append(String.Format("&asynccall={0}", False))
sb.Append(String.Format("&asynccallid={0}", "NULL"))
sb.Append(String.Format("&exportdomainevaleur={0}", "NULL"))
sb.Append(String.Format("&exporttype={0}", "NULL"))
sb.Append(String.Format("&exportdelimiter={0}", "NULL"))
sb.Append(String.Format("&exportdecimalsymbol={0}", "NULL"))
sb.Append(String.Format("&exportlcid={0}", 0))
sb.Append(String.Format("&exportonscreencolumnsonly={0}", True))
sb.Append(String.Format("&exportview={0}", 0))
sb.Append(String.Format("&exportviewother={0}", "NULL"))
sb.Append(String.Format("&exportfieldstodisplay={0}", "NULL"))
sb.Append(String.Format("&exportremovehtmlonly={0}", True))
sb.Append(String.Format("&exportenablefilterxls={0}", False))
sb.Append(String.Format("&format={0}", "DS"))
strXML = CallHttp("https://api.aceproject.com/", sb.ToString)
dsOutput = Deserialize(Of DataSet)(strXML)
If dsOutput IsNot Nothing AndAlso dsOutput.Tables.Count > 0 Then
If dsOutput.Tables.Contains("dtAPIErrors") Then
Throw New Exception(String.Format("{0}: {1}", _
dsOutput.Tables(0).Rows(0).Item("ErrorNumber").ToString, _
dsOutput.Tables(0).Rows(0).Item("ErrorDescription").ToString))
End If
End If
Catch ex As Exception
Throw
Finally
If sb IsNot Nothing Then sb = Nothing
If dsOutput IsNot Nothing Then
dsOutput.Dispose()
dsOutput = Nothing
End If
End Try
End Sub
Private Shared Function CallHttp( ByVal url As String, _
ByVal params As String) As String
Dim loHttp As System.Net.HttpWebRequest
loHttp = CType(System.Net.WebRequest.Create(url), System.Net.HttpWebRequest)
loHttp.Method = "POST"
Dim requestWriter As System.IO.StreamWriter = New System.IO.StreamWriter(loHttp.GetRequestStream())
If Not String.IsNullOrEmpty(params) Then
requestWriter.Write(params)
End If
requestWriter.Close()
loHttp.ContentType = "application/x-www-form-urlencoded"
loHttp.Headers.Set("Pragma", "no-cache")
loHttp.AllowAutoRedirect = True
loHttp.KeepAlive = True
loHttp.Timeout = 30 * 1000
Dim loWebResponse As System.Net.HttpWebResponse = CType(loHttp.GetResponse(), System.Net.HttpWebResponse)
Dim enc As Encoding = System.Text.Encoding.UTF8
Dim loResponseStream As System.IO.StreamReader = New System.IO.StreamReader(loWebResponse.GetResponseStream(), enc)
Dim lcHtml As String = loResponseStream.ReadToEnd()
loWebResponse.Close()
loResponseStream.Close()
Return lcHtml
End Function
Private Shared Function Deserialize(Of T)( ByVal strXML As String) As T
Dim objet As T = Nothing
Dim objType As Type = GetType(T)
Try
If Not String.IsNullOrEmpty(strXML) Then
Dim objSerializer As New System.Xml.Serialization.XmlSerializer(objType)
Dim objText As New System.Text.StringBuilder()
Dim objXmlReader As New System.IO.StringReader(strXML)
objet = DirectCast(objSerializer.Deserialize(objXmlReader), T)
objXmlReader.Close()
End If
Return objet
Catch ex As Exception
Throw
Finally
If objet IsNot Nothing Then objet = Nothing
End Try
End Function
End Class