BCI API Support Reference (version 1.0)


Project And Role Information

Project Roles



URL path: REST Request SOAP Request Base
http://api.bciaustralia.com/rest/projectroles.json http://api.bciaustralia.com/projectroles.cfc?wsdl http://api.bciaustralia.com/projectroles.cfc
Serializable: Yes
Methods: getByPK, getByQuery


getByPK
remote Array getByPK ( required numeric projectrefid, numeric last="", string fields="", required string token )

Get all project role information for a version of project

Methods of access are:

SOAP: http://api.bciaustralia.com/projectroles.cfc?wsdl&method=getByPK&projectrefid={projectrefid}(&returnFormat=wddx / &returnFormat=json)

REST: http://api.bciaustralia.com/rest/projectroles/{projectrefid}(.json / .xml)

Output: Array

Parameters:
projectrefid: numeric, required - Project reference ID of the unique project record
last: numeric, optional - Only latest published version of the project (value=1)
fields: string, optional - Fields being requested for the return data. Full list provided under "Fields" section below
token: string, required - Allocated token for current login session

getByQuery
remote Array getByQuery ( string companyid, string roleID, string rolegroupID, numeric tenderwinner, required string projectrefid, optional string projectid, numeric last="1", numeric version, string tenderid, numeric master_plan, string fields="", token string token, numeric NumberOfRows="1000", numeric StartRow="1", string tender_opening_from, string tender_opening_to, string tender_closing_from, string tender_closing_to )

Output: Array

Parameters:
companyid: string, optional - ID or comma-seperated list of company IDs
roleID: string, optional - ID or comma-seperated list of role IDs
rolegroupID: string, optional - ID or comma-seperated list of role group IDs
tenderwinner: numeric, optional - Flag indicating if contact/company is the tender winner (value = 1 for winner, value = 2 for showing all winner and to be appointed)
projectrefid: string, optional - ID or comma-seperated list of Project reference IDs of the unique project records
projectid: string, required - ID or comma-seperated list of project IDs
last: numeric, optional - Only latest published version of the project (value=1)
version: numeric, optional - Version number of the project
tenderid: numeric, optional - ID or comma-seperated list of tender IDs
master_plan: numeric, optional - Flag of Master Plan
fields: string, optional - Fields being requested for the return data. Full list provided under "Fields" section below
token: string, required - Allocated token for current login session
NumberOfRows: numeric, optional - Number of results being requested in the reponse data
StartRow: numeric, optional - Start position of the data in the result recordset
tender_opening_from: string, optional - Minimum tender opening date, accepted datetime format (dd/mm/yyyy or dd/mm/yyyy HH:mi where dd represents 2 digit dates, mm represents 2 digit month, yyyy is 4 digits for year, HH represents 2 digit hours according to a 24-hr clock, mi represents 2 digits minutes)
tender_opening_to: string, optional - Maximum tender opening date, accepted datetime format (dd/mm/yyyy or dd/mm/yyyy HH:mi where dd represents 2 digit dates, mm represents 2 digit month, yyyy is 4 digits for year, HH represents 2 digit hours according to a 24-hr clock, mi represents 2 digits minutes)
tender_closing_from: string, optional - Minimum tender closing date, accepted datetime format (dd/mm/yyyy or dd/mm/yyyy HH:mi where dd represents 2 digit dates, mm represents 2 digit month, yyyy is 4 digits for year, HH represents 2 digit hours according to a 24-hr clock, mi represents 2 digits minutes)
tender_closing_to: string, optional - Maximum tender closing date, accepted datetime format (dd/mm/yyyy or dd/mm/yyyy HH:mi where dd represents 2 digit dates, mm represents 2 digit month, yyyy is 4 digits for year, HH represents 2 digit hours according to a 24-hr clock, mi represents 2 digits minutes)

Interpreting Data: Undisclosed Contacts (ContactID = 1)
Undisclosed contact information and how it is represented in the data

When contact information cannot be disclosed sue to privacy reasons, the data would have a dummy record to indicate the absense of this information. However, company information will be available for such data without any contact. Such a contact would show up under the project roles extracted using the ProjectRoles endpoint (functions getbyPK / getbyQuery) with a contactID of 1. Company information is still available in this case as per usual (company fields), contact fields would be empty.

If these roles are of relevance, please adjust code to handle this scenario ensuring company information can be generated using the endpoint.

Sample Response

<?xml version="1.0" encoding="UTF-8"?>
<wddxPacket version="1.0">
   <header />
   <data>
      <array length="1">
         <struct>
            <var name="FIRMTENDERID">
               <string>3181344</string>
            </var>
            <var name="ROLE_GROUPID">
               <string>1</string>
            </var>
            <var name="FIRMTENDER_REMARKS">
               <string>Project Manager not disclosed</string>
            </var>
            <var name="SITE_CONTACT">
               <string />
            </var>
            <var name="TENDERID">
               <string>2824080</string>
            </var>
            <var name="TENDER_NUMBER">
               <string />
            </var>
            <var name="TIME_STAMP">
               <string>06/05/2013  13:36:00</string>
            </var>
            <var name="CONTACTID">
               <string>1</string>
            </var>
            <var name="TENDER_OPEN">
               <string />
            </var>
            <var name="TENDER_REFID">
               <string>11375620</string>
            </var>
            <var name="MAIN_CONTRACT_TENDER">
               <string />
            </var>
            <var name="TENDER_CLOSE">
               <string />
            </var>
            <var name="TENDER_AWARDED">
               <string>1</string>
            </var>
            <var name="FIRMTENDER_REFID">
               <string>11703575</string>
            </var>
            <var name="LAST">
               <string>1</string>
            </var>
            <var name="TENDER_TYPEID">
               <string />
            </var>
            <var name="PROJECTID">
               <string>7690021</string>
            </var>
            <var name="VERSION">
               <string>2</string>
            </var>
            <var name="TENDERWINNER">
               <string>1</string>
            </var>
            <var name="COMPANYID">
               <string>1799010</string>
            </var>
            <var name="MASTER_PLAN">
               <string />
            </var>
            <var name="PROJECT_REFID">
               <string>10000865</string>
            </var>
            <var name="ROLEID">
               <string>25</string>
            </var>
            <var name="TENDER_REMARKS">
               <string />
            </var>
         </struct>
      </array>
   </data>
</wddxPacket>

Fields
FIRMTENDER_REFIDLONG
FIRMTENDERIDLONG
LASTBOOLEAN
VERSIONINTEGER
TENDER_REFIDLONG
TENDERIDLONG
MASTER_PLANBOOLEAN
2 possible values. (0 and 1). 1 indicates this is the master plan for the project.
PROJECT_REFIDLONG
PROJECTIDLONG
COMPANYIDLONG
TIME_STAMPDATE
CONTACTIDLONG
TENDERWINNERBOOLEAN
2 possible values. If the tender has been awarded (TENDER_AWARDED = 1), 1 indicates the company has been appointed, 0 indicates the company lost the tender.
If TENDER_AWARDED = 2, all companies would have TENDERWINNER = 0 since tender is not yet awarded.
If TENDER_AWARDED = 0, no company has been appointed this role.
ROLEIDINTEGER
ROLE_GROUPIDINTEGER
FIRMTENDER_REMARKSSTRING(2000)
SITE_CONTACTSTRING(1000)
TENDER_OPENDATE
TENDER_CLOSEDATE
TENDER_REMARKS(2000)
TENDER_AWARDEDINTEGER
3 possible values. 0 indicates the role is "to be appointed". 1 indicates the role is "Appointed". 2 indicates "The bidding Information is known" for this role/tender.
TENDER_TYPEIDINTEGER
TENDER_NUMBERSTRING(100)
MAIN_CONTRACT_TENDERBOOLEAN
ROLE_NAMESTRING(1000)
ROLE_GROUP_NAMESTRING(100)
Sample Output - getByPK() - XML
<wddxPacket version='1.0'> <header/> <data> <array length='1'> <struct> <var name='TENDER_AWARDED'><number>1.0</number></var> <var name='ROLE_GROUPID'><number>6.0</number></var> <var name='FIRMTENDERID'><number>2761915.0</number></var> <var name='ROLEID'><number>18.0</number></var> <var name='TENDERID'><number>2537126.0</number></var> <var name='PROJECTID'><number>2.7313017E7</number></var> <var name='TENDER_REFID'><number>1.05791E7</number></var> <var name='TENDERWINNER'><number>1.0</number></var> <var name='TENDER_REMARKS'><string></string></var> <var name='TENDER_OPEN'><string></string></var> <var name='PROJECT_REFID'><number>1.0037304E7</number></var> <var name='TENDER_NUMBER'><string></string></var> <var name='FIRMTENDER_REMARKS'><string></string></var> <var name='TIME_STAMP'><dateTime>2013-05-17T17:23:00+10:00</dateTime></var> <var name='CONTACTID'><number>2657014.0</number></var> <var name='VERSION'><number>17.0</number></var> <var name='LAST'><number>1.0</number></var> <var name='MAIN_CONTRACT_TENDER'><string></string></var> <var name='SITE_CONTACT'><string></string></var> <var name='TENDER_CLOSE'><string></string></var> <var name='FIRMTENDER_REFID'><number>1.0642729E7</number></var> <var name='COMPANYID'><number>4526010.0</number></var> <var name='TENDER_TYPEID'><string></string></var> </struct> </array> </data> </wddxPacket>
Sample Output - getByQuery() - XML
<wddxPacket version='1.0'> <header/> <data> <struct> <var name='TENDER_AWARDED'><number>1.0</number></var> <var name='ROLE_GROUPID'><number>6.0</number></var> <var name='FIRMTENDERID'><number>2761858.0</number></var> <var name='ROLEID'><number>13.0</number></var> <var name='TENDERID'><number>2537123.0</number></var> <var name='PROJECTID'><number>2.7313017E7</number></var> <var name='TENDER_REFID'><number>1.0579097E7</number></var> <var name='TENDERWINNER'><number>1.0</number></var> <var name='TENDER_REMARKS'><string></string></var> <var name='TENDER_OPEN'><string></string></var> <var name='PROJECT_REFID'><number>1.0037304E7</number></var> <var name='TENDER_NUMBER'><string></string></var> <var name='FIRMTENDER_REMARKS'><string></string></var> <var name='TIME_STAMP'><dateTime>2013-05-17T17:23:00+10:00</dateTime></var> <var name='CONTACTID'><number>5703014.0</number></var> <var name='VERSION'><number>17.0</number></var> <var name='LAST'><number>1.0</number></var> <var name='MAIN_CONTRACT_TENDER'><string></string></var> <var name='SITE_CONTACT'><string></string></var> <var name='TENDER_CLOSE'><string></string></var> <var name='FIRMTENDER_REFID'><number>1.0642725E7</number></var> <var name='COMPANYID'><number>320014.0</number></var> <var name='TENDER_TYPEID'><string></string></var> </struct> </array> </var> </struct> </data> </wddxPacket>