DataFileSources API Example Calls
DataFileSources GET Query Options
Below is a table showing various query options and their parameters
Filter Name | Purpose |
created_at | Use the created_at parameter to control the from and to timestamps between which you need the detailed status of the files processed (file status, field level errors) |
source_for | Use the source_for parameter to filter the files based on the object of interesta |
type | Use the type parameter to determine whether the file type you need information about - file sent to Coupa or file sent by Coupa |
status | Use the status parameter to filter out data sources by processing status depending on the goal of your query |
file_file_name | Use the file_file_name parameter to search for datafilesources for a specific file |
Data Structure
Below is a table outlining the different values returned for a given GET call. Spaces before a field name mean it is nested under one of the preceding tags:
Arguement | Type | Values |
id | integer | |
created-at | datetime | YYY-MM-DDTHH:MM:SS-HH:MM |
updated-at | datetime | YYYY-MM-DDTHH:MM:SS-HH:MM |
type | string | BackgroundCsvFileLoad, DataFileSource, BackgroundImportCorporateCreditCard... |
source-for | string | InvoiceHeader, Payment, Invoices, ExpenseReport, Supplier, User, Item, Commodity, Address, Contract, Account, Lookup Value... |
status | string | Done, Failed, Retrying, Loading, Submitted to Resque, Pending, Uploading, Paused, Stopped |
file-file-name | string | Invoices_20141209_234608Z.csv, etc |
file-file-size | string | 9822 |
result-text | string | The result of the process ex. 27 rows processed, creating 0 new rows and updating 11 rows. |
progress | integer | 27 |
start-time | datetime | YYYY-MM-DDTHH:MM:SS-HH:MM |
end-time | datetime | YYYY-MM-DDTHH:MM:SS-HH:MM |
upload-errors | array | |
upload-errors/upload-error | ||
upload-errors/upload-error/id | integer | 123456 |
upload-errors/upload-error/created-at | datetime | YYYY-MM-DDTHH:MM:SS-HH:MM |
upload-errors/upload-error/updated-at | datetime | YYYY-MM-DDTHH:MM:SS-HH:MM |
upload-errors/upload-error/type | string | The type of error, ex. UploadRowError |
upload-errors/upload-error/row | integer | 1 |
upload-errors/upload-error/firstc-column | ||
upload-errors/upload-error/field-with-error | string | Column name where the error occurred |
upload-errors/upload-error/value | string | draft, pending_buyer_action, pending_approval, approved, received, ordered, partially received, rejected, with drawn |
upload-errors/upload-error/field errors | array | |
upload-errors/upload=error/created-by | user | User record including id, login, first and last name, email etc |
upload-errors/upload-error/updated-by | user | User record including id, login, first and last name, email etc |
created-by | user | User record including id, login, first and last name, email etc |
updated-by | user | User record including id, login, first and last name, email etc |
DataFileSources Query Example - Query for Given Date
In this example we are looking for all DataFileSources created in the last 24 hours (the current time being 3PM PST April 17th 2015 or '2015-04-17 22:00:00') While you can use a larger date time it is important to remember that the DataFileSource API has a number of related objects and records which reference it. So querying large numbers or records can cause adverse performance in your instance. In addition, as with all API calls to Coupa, there is a limit of 50 records returned per call. To query the next set, add &offset=50 to the end of your call
https://<instance>.coupahost.com/api/data_file_sources?created_at[gt]='<timestamp>'https://<instance>.coupahost.com/api/data_file_sources?created_at[gt]='2015-04-16
22:00:00'
Sample Daily DataSources
<?xml version="1.0" encoding="UTF-8"?>
<data-file-sources type="array">
<data-file-source>
<id type="integer">1117</id>
<created-at type="datetime">2015-04-17T08:34:17-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:34:25-07:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>sample</status>
<file-file-name>lookup_value_list_wbstype.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>300</file-file-size>
<result-text nil="true" />
<progress nil="true" />
<start-time nil="true" />
<end-time nil="true" />
<upload-errors type="array">
<upload-error>
<id type="integer">920</id>
<created-at type="datetime">2015-04-17T08:34:25-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:34:25-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>SAP Upgrade</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
<upload-error>
<id type="integer">921</id>
<created-at type="datetime">2015-04-17T08:34:25-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:34:25-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>Coupa Implementation</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1118</id>
<created-at type="datetime">2015-04-17T08:35:15-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:35:16-07:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>sample</status>
<file-file-name>lookup_value_list_wbstype.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>304</file-file-size>
<result-text nil="true" />
<progress nil="true" />
<start-time nil="true" />
<end-time nil="true" />
<upload-errors type="array">
<upload-error>
<id type="integer">922</id>
<created-at type="datetime">2015-04-17T08:35:16-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:35:16-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>SAP Upgrade</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
<upload-error>
<id type="integer">923</id>
<created-at type="datetime">2015-04-17T08:35:16-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:35:16-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>Coupa Implementation</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1119</id>
<created-at type="datetime">2015-04-17T08:36:07-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:36:07-07:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>sample</status>
<file-file-name>lookup_value_list_wbstype.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>344</file-file-size>
<result-text nil="true" />
<progress nil="true" />
<start-time nil="true" />
<end-time nil="true" />
<upload-errors type="array">
<upload-error>
<id type="integer">917</id>
<created-at type="datetime">2015-04-17T08:36:08-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:36:08-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>SAP Upgrade</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
<upload-error>
<id type="integer">925</id>
<created-at type="datetime">2015-04-17T08:36:08-07:00</created-at>
<updated-at type="datetime">2015-04-17T08:36:08-07:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>Coupa Implementation</first-column>
<field-with-error>parent_id</field-with-error>
<value>1</value>
<field-errors type="array">
<field-error>Parent unable to find matching parent.</field-error>
</field-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</created-by>
<updated-by>
<id type="integer">81</id>
<login>bknott</login>
<email>brent.knott+bknott@coupa.com</email>
<employee-number />
<firstname>Brent</firstname>
<lastname>Knott</lastname>
<salesforce-id nil="true" />
<company-code>100</company-code>
<cost-center>10000</cost-center>
<account-category>K</account-category>
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1125</id>
<created-at type="datetime">2015-04-17T12:59:44-07:00</created-at>
<updated-at type="datetime">2015-04-17T12:59:45-07:00</updated-at>
<type>DataFileSource</type>
<source-for>Supplier</source-for>
<status>sample</status>
<file-file-name>remit_to_address_list.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>221</file-file-size>
<result-text nil="true" />
<progress nil="true" />
<start-time nil="true" />
<end-time nil="true" />
<upload-errors type="array">
<upload-error>
<id type="integer">926</id>
<created-at type="datetime">2015-04-17T12:59:46-07:00</created-at>
<updated-at type="datetime">2015-04-17T12:59:46-07:00</updated-at>
<type>UploadHeaderError</type>
<row nil="true" />
<first-column nil="true" />
<field-with-error nil="true" />
<value nil="true" />
<field-errors>Column header Active is not valid.</field-errors>
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1126</id>
<created-at type="datetime">2015-04-17T13:00:05-07:00</created-at>
<updated-at type="datetime">2015-04-17T13:00:04-07:00</updated-at>
<type>DataFileSource</type>
<source-for>Supplier</source-for>
<status>sample</status>
<file-file-name>remit_to_address_list.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>210</file-file-size>
<result-text nil="true" />
<progress nil="true" />
<start-time nil="true" />
<end-time nil="true" />
<upload-errors type="array">
<upload-error>
<id type="integer">927</id>
<created-at type="datetime">2015-04-17T13:00:04-07:00</created-at>
<updated-at type="datetime">2015-04-17T13:00:04-07:00</updated-at>
<type>UploadHeaderError</type>
<row nil="true" />
<first-column nil="true" />
<field-with-error nil="true" />
<value nil="true" />
<field-errors>Column header Line1* is not valid.</field-errors>
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">1</id>
<login>coupasupport</login>
<email>rakesh.tatineni+01@coupa.com</email>
<employee-number />
<firstname>Coupa</firstname>
<lastname>Support</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
</data-file-sources>
DataFileSources Query Example - Query for Specific Object
In this example we are querying for all Incoming Lookup Values for December 15th 2014 so that we can see if there were any errors with the files being processed into Coupa. This is a multi stage query as can be seen below:
https://<instance>.coupahost.com/api/data_file_sources?created_at[gt]='<day>
00:00:00'&created_at[lt]='<day>
23:59:59'&source_for=<object>
https://<instance>.coupahost.com/api/data_file_sources?created_at[gt]='2014-12-15
00:00:00'&created_at[lt]='2014-12-15
23:59:59'&source_for=LookupValue
This query has three parts. The first one limits to just datafilesources created since midnight UTC on the 15th, and the second puts a limit of datafilesources created prior to midnight of the 16th. The final section defines what object we are looking for, in this case LookupValue.
Sample Response for LookupValues Inbound on 12/15/14
<?xml version="1.0" encoding="UTF-8"?>
<data-file-sources type="array">
<data-file-source>
<id type="integer">1332</id>
<created-at type="datetime">2014-12-15T08:47:54-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:48:53-08:00</updated-at>
<type>DataFileSource</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>282</file-file-size>
<result-text>0 rows processed, creating 0 new rows and updating 0 rows.</result-text>
<progress type="integer">0</progress>
<start-time type="datetime">2014-12-15T08:48:07-08:00</start-time>
<end-time type="datetime">2014-12-15T08:48:53-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">964</id>
<created-at type="datetime">2014-12-15T08:48:10-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:48:10-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">1</row>
<first-column>TESTUS1</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">965</id>
<created-at type="datetime">2014-12-15T08:48:13-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:48:13-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>TESTEMEA1</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">966</id>
<created-at type="datetime">2014-12-15T08:48:13-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:48:13-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>TESTSales1</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1333</id>
<created-at type="datetime">2014-12-15T08:55:19-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:55:53-08:00</updated-at>
<type>DataFileSource</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>279</file-file-size>
<result-text>0 rows processed, creating 0 new rows and updating 0 rows.</result-text>
<progress type="integer">0</progress>
<start-time type="datetime">2014-12-15T08:55:27-08:00</start-time>
<end-time type="datetime">2014-12-15T08:55:53-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">967</id>
<created-at type="datetime">2014-12-15T08:55:29-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:55:29-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">1</row>
<first-column>TESTUS</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">968</id>
<created-at type="datetime">2014-12-15T08:55:29-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:55:29-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>TESTEMEA</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">969</id>
<created-at type="datetime">2014-12-15T08:55:29-08:00</created-at>
<updated-at type="datetime">2014-12-15T08:55:29-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>TESTSales</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1334</id>
<created-at type="datetime">2014-12-15T09:13:17-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:13:55-08:00</updated-at>
<type>DataFileSource</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>258</file-file-size>
<result-text>0 rows processed, creating 0 new rows and updating 0 rows.</result-text>
<progress type="integer">0</progress>
<start-time type="datetime">2014-12-15T09:13:27-08:00</start-time>
<end-time type="datetime">2014-12-15T09:13:55-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">970</id>
<created-at type="datetime">2014-12-15T09:13:30-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:13:30-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">1</row>
<first-column>TESTUS</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">971</id>
<created-at type="datetime">2014-12-15T09:13:30-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:13:30-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>TESTEMEA</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
<upload-error>
<id type="integer">972</id>
<created-at type="datetime">2014-12-15T09:13:31-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:13:31-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">3</row>
<first-column>TESTSales</first-column>
<field-with-error nil="true" />
<value nil="true" />
<field-errors type="array">
<field-error>Row corrupt or invalid.</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1335</id>
<created-at type="datetime">2014-12-15T09:22:15-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:22:32-08:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type />
<file-file-size>282</file-file-size>
<result-text>3 rows processed, creating 0 new rows and updating 3 rows.</result-text>
<progress type="integer">3</progress>
<start-time type="datetime">2014-12-15T09:22:24-08:00</start-time>
<end-time type="datetime">2014-12-15T09:22:32-08:00</end-time>
<upload-errors type="array" />
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1336</id>
<created-at type="datetime">2014-12-15T09:28:19-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:28:32-08:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type />
<file-file-size>282</file-file-size>
<result-text>3 rows processed, creating 0 new rows and updating 3 rows.</result-text>
<progress type="integer">3</progress>
<start-time type="datetime">2014-12-15T09:28:29-08:00</start-time>
<end-time type="datetime">2014-12-15T09:28:32-08:00</end-time>
<upload-errors type="array" />
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1337</id>
<created-at type="datetime">2014-12-15T09:34:24-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:35:00-08:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type />
<file-file-size>332</file-file-size>
<result-text>4 rows processed, creating 0 new rows and updating 3 rows.</result-text>
<progress type="integer">4</progress>
<start-time type="datetime">2014-12-15T09:34:32-08:00</start-time>
<end-time type="datetime">2014-12-15T09:35:00-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">973</id>
<created-at type="datetime">2014-12-15T09:34:35-08:00</created-at>
<updated-at type="datetime">2014-12-15T09:34:35-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>0200</first-column>
<field-with-error>name</field-with-error>
<value>TESTUS1</value>
<field-errors type="array">
<field-error>Name has already been taken</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
<data-file-source>
<id type="integer">1338</id>
<created-at type="datetime">2014-12-15T10:40:57-08:00</created-at>
<updated-at type="datetime">2014-12-15T10:41:33-08:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type />
<file-file-size>332</file-file-size>
<result-text>4 rows processed, creating 0 new rows and updating 3 rows.</result-text>
<progress type="integer">4</progress>
<start-time type="datetime">2014-12-15T10:41:06-08:00</start-time>
<end-time type="datetime">2014-12-15T10:41:33-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">974</id>
<created-at type="datetime">2014-12-15T10:41:11-08:00</created-at>
<updated-at type="datetime">2014-12-15T10:41:11-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>0200</first-column>
<field-with-error>name</field-with-error>
<value>TESTUS1</value>
<field-errors type="array">
<field-error>Name has already been taken</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
</data-file-sources>
DataFileSources Query Example - Query Specific DataFileSource
In this example we are querying datafilesource #1338. This is the internal Coupa ID automatically generated for this object and is the primary method of identification for this record.
We have two methods to query this record:
- Format 1:
https://<instance>.coupahost.com/api/data_file_sources/<id>
https://<instance>.coupahost.com/api/data_file_sources/1338
The Output for this query is show below
- Format 2:
https://<instance>.coupahost.com/api/data_file_sources?id=<id>
https://<instance>.coupahost.com/api/data_file_sources?id=1338
For this format, the response will be slightly different. The entire of the below output (excepting the xml version information) will be wrapped in
<data-file-sources type="array">
</data-file-sources>
tag as the ? parameter could return multiple records,
while specifying the id explicitly can only return the one
Sample DataSource GET Response
<?xml version="1.0" encoding="UTF-8"?>
<data-file-source>
<id type="integer">1338</id>
<created-at type="datetime">2014-12-15T10:40:57-08:00</created-at>
<updated-at type="datetime">2014-12-15T10:41:33-08:00</updated-at>
<type>BackgroundCsvFileLoad</type>
<source-for>LookupValue</source-for>
<status>done</status>
<file-file-name>_Incoming_LookupValues_Knott_LookupValues.csv</file-file-name>
<file-content-type />
<file-file-size>332</file-file-size>
<result-text>4 rows processed, creating 0 new rows and updating 3 rows.</result-text>
<progress type="integer">4</progress>
<start-time type="datetime">2014-12-15T10:41:06-08:00</start-time>
<end-time type="datetime">2014-12-15T10:41:33-08:00</end-time>
<upload-errors type="array">
<upload-error>
<id type="integer">974</id>
<created-at type="datetime">2014-12-15T10:41:11-08:00</created-at>
<updated-at type="datetime">2014-12-15T10:41:11-08:00</updated-at>
<type>UploadRowError</type>
<row type="integer">2</row>
<first-column>0200</first-column>
<field-with-error>name</field-with-error>
<value>TESTUS1</value>
<field-errors type="array">
<field-error>Name has already been taken</field-error>
</field-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</upload-error>
</upload-errors>
<created-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</created-by>
<updated-by>
<id type="integer">93</id>
<login>sftp_integration@coupa.com</login>
<email>sftp_integration@coupa.com</email>
<employee-number nil="true" />
<firstname>sFTP</firstname>
<lastname>Integration</lastname>
<salesforce-id nil="true" />
<company-code />
<cost-center />
<account-category />
</updated-by>
</data-file-source>
DataFileSources Query Example - Query Specific File
In this example we are querying for a datafilesource created for a file named lookup_list.csv.
We have two methods to query this record:
-
Format 1:
https://<instance>.coupahost.com/api/data_file_sources?file_file_name=filename
https://<instance>.coupahost.com/api/data_file_sources?file_file_name=lookup_list.csv
The Output for this query is show below
Sample DataSource GET Response
<?xml version="1.0" encoding="UTF-8"?>
<data-file-sources type="array">
<data-file-source>
<id type="integer">990</id>
<created-at type="datetime">2015-07-09T16:32:42-07:00</created-at>
<updated-at type="datetime">2015-07-09T16:34:19-07:00</updated-at>
<type>DataFileSource</type>
<source-for>Lookup</source-for>
<status>done</status>
<file-file-name>lookup_list.csv</file-file-name>
<file-content-type>text/csv</file-content-type>
<file-file-size>170</file-file-size>
<result-text>0 rows processed, creating 0 new rows and updating 0 rows.</result-text>
<progress nil="true" />
<start-time type="datetime">2015-07-09T16:34:05-07:00</start-time>
<end-time type="datetime">2015-07-09T16:34:19-07:00</end-time>
<upload-errors type="array" />
<created-by>
<id type="integer">85</id>
<login>staging@coupa.com</login>
<email>staging@coupa.com</email>
<employee-number nil="true" />
<firstname>John</firstname>
<lastname>Doe</lastname>
</created-by>
<updated-by>
<id type="integer">85</id>
<login>staging@coupa.com</login>
<email>staging@coupa.com</email>
<employee-number nil="true" />
<firstname>John</firstname>
<lastname>Doe</lastname>
</updated-by>
</data-file-source>
</data-file-sources>