This s a documentation page for our shiny new REST API - you weren't meant to find it. This API isn't ready for public use yet. We're chopping and changing it a LOT as we grow it. So if you build something that uses it then it's very likely to break in a future update. Don't say you weren't warned!
URL: | https://api.kashflow.com/v2/{objecttype}/{objectnumber}/files |
Method(s): | get,post,delete |
Response Formats: | JSON, XML |
Description: | These methods allow you to list, upload and delete Dropbox file(s). {objecttype} in the URL can be substituted by one of the below entities to which the Dropbox files belong. {objectnumber} in the URL is the identifier (mentioned below) of the entity to which Dropbox files belong. |
{objecttype} | {objectnumber} |
---|---|
Quotes | Quote Number |
Invoices | Invoice Number |
Purchases | Purchase Number |
Customers | Customer Code |
BankAccounts | Bank Account Name |
So, the GET of URL /invoice/100/files would return the Dropbox files belonging to invoice number 100.
Parameters
Name | Type | Description |
---|---|---|
Icon | String | The icon name for a file. This uniquely identifies the image file that needs to be used to represent the file. |
Name | String | Name of the file |
LastModifiedDate | Date | The date on which the file was last modified. For e.g. [JSONDATE] |
SizeInBytes | Numeric | Size of the file in bytes |
SizeToBeDisplayed | Size | Size of the file to be displayed on UI |
IsThumbnailAvailable | Boolean | Whether a minified version of the file is available. At present, we support such a version for “jpg”, “jpeg”, “png”, “tiff”, “tif”, “gif” and “bmp” file formats. So, only for these files, the value of this field is ‘true’ |
FileUri | String | Signed Uri which gets the file bits. |
ThumbnailUri | String | Signed Uri which gets the file bits for the minified version of the file, if available. |
Configuring dropbox for a kashflow user Operation
URL : /dropbox/authentication
Example response for GET
"https:\/\/www.dropbox.com\/1\/oauth\/authorize?oauth_callback=https%3A%2F%2Fapi.kashflow.com%2Fv2%2Fdropbox%2Fauthentication%2Furl%3Fkashflowuserid%3D93951%26userguid%3DB40CFB55-A9D4-446F-A373-DB283EC57299&oauth_token=0oC86SFXU6GHzqaA"
The returned url should be used within 5 minutes. If the client is to be redirected to a new location then querystring redirecturl={redirecturl} should be appended to the url.
GET Operation
Provides access to dropbox account
URL : /dropbox/authentication/url?kashflowuserid={kashflowuserid}&uid={uid}&userguid={userguid}&oauth_token={oauthtoken}&redirecturl={redirecturl}
Example response for GET
Status Code: 200
If redirect url is specified then the client will be redirected to the specified url after providing kashflow account access to dropbox. If redirect url is not specified then a status code of 200 will be returned after allowing kashflow account access to dropbox.
GET of file list
Returns all the Dropbox files associated with a particular entity object for the authenticated user.
URL : /{objecttype}/{objectnumber}/files
Example response for GET of Dropbox file
[{
"Icon": "page_white_picture",
"Name": "76643107_13e683ad6f.jpg",
"SizeInBytes": 164391,
"SizeToBeDisplayed": "160.5 KB",
"LastModifiedDate": "2008-03-11 12:00:00",
"IsThumbnailAvailable": true,
"ThumbnailUri": "https:\/\/api-content.dropbox.com\/1\/thumbnails\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D",
"FileUri": "https:\/\/api-content.dropbox.com\/1\/files\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D"
},{
"Icon": "page_white_picture",
"Name": "76643107_13e683ad6f.jpg",
"SizeInBytes": 164391,
"SizeToBeDisplayed": "160.5 KB",
"LastModifiedDate": "2008-03-11 12:00:00",
"IsThumbnailAvailable": false,
"ThumbnailUri": "",
"FileUri": "https:\/\/api-content.dropbox.com\/1\/files\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D"
}]
GET of single file
Returns the Dropbox file information associated with the particular file of the entity object for the authenticated user.
URL : /{objecttype}/{objectnumber}/files/{filename}
{filename} is the name of the file to be fetched.
Example response for GET of Dropbox file list
{
"Icon": "page_white_picture",
"Name": "76643107_13e683ad6f.jpg",
"SizeInBytes": 164391,
"SizeToBeDisplayed": "160.5 KB",
"LastModifiedDate": "2008-03-11 12:00:00",
"IsThumbnailAvailable": true,
"ThumbnailUri": "https:\/\/api-content.dropbox.com\/1\/thumbnails\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D",
"FileUri": "https:\/\/api-content.dropbox.com\/1\/files\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D"
}
DELETE Operation
Deletes a file with the specified file name for the given entity object (type and identifier specified in URL).URL : /{objectType}/{objectNumber}/files/{filename}
{filename} is the name of the file to be deleted.
POST Operation
Uploads file to dropbox.
URL for Invoice : /invoices/files
URL for Quotes : /quotes/files
URL for Purchases : /purchases/files
URL for Customers : /customers/files
URL for BankAccounts : /bankaccounts/files
Email attachment creation involves HTTP multi-part POST operation.
Example code snippet for posting a file is shown below.
Code snippet of POST
<form action="http://{domainUrl}/invoices/files" enctype="multipart/form-data" method="post">
<input id="sessiontoken" type="hidden" name="sessiontoken" value="{sessiontoken}" />
<input id="number" type="hidden" name="number" value="{number}" />
<input class="txtBox" id="fileToUpload" type="file" name="file" />
<input type="submit" value="Upload File" />
</form>
In this case {sessiontoken} is session token which is obtained after successful authentication and {number} is invoice/quote/receipt number.
The selected file will be uploaded to dropbox.
In case of customers
<input id=”number” type=”hidden” name=”number” value=”{number}” />
should be replaced with
<input id=”code” type=”hidden” name=”code” value=”{customercode}” />
In case of bank account
<input id=”number” type=”hidden” name=”number” value=”{number}” />
should be replaced with
<input id=”code” type=”hidden” name=”code” value=”{bankAccountName}” />
Note : Sequence of the fields specified in the given code snippet should be maintained.
Sending PDF file to Dropbox
To upload a specific PDF file for a quote/invoice/purchase to Dropbox.
URL for Invoice : /invoices/files/{number}
URL for Quotes : /quotes/files/{number}
URL for Purchases : /purchases/files/{number}
{number} in the URL will be replaced by unique number assign to entity
Note : this is a post request without body.
Example response for Send file to Dropbox
{
"Icon": "page_white_picture",
"Name": "76643107_13e683ad6f.jpg",
"SizeInBytes": 164391,
"SizeToBeDisplayed": "160.5 KB",
"LastModifiedDate": "2008-03-11 12:00:00",
"IsThumbnailAvailable": true,
"ThumbnailUri": "https:\/\/api-content.dropbox.com\/1\/thumbnails\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D",
"FileUri": "https:\/\/api-content.dropbox.com\/1\/files\/sandbox\/Invoices\/4455\/76643107_13e683ad6fnw123.jpg?oauth_consumer_key=skewpon3lk0h3ft&oauth_nonce=13717885376D02A920D0E24074867CF0D752EAB7CB&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1371788537&oauth_token=4u58uefwbm4e6kr&oauth_signature=3%2FdLVsCIudp3fD2ZimlNlwatFzI%3D"
}