Sync API
Basic Sync API
API URL
The API URL is /service/gateway/sync
, and the only acceptable method is POST
.
Fields of POST
- fb_token: a token to control the data of a account; if current use is login, this parameter is not required, but usually you need to call function
need_admin
at the first. - push_to_cloud: if the
fb_token
parameter is used, and this value istrue
( default value isfalse
), then the file will sync to Dropbox immediately. Iffb_token
is not used, push_to_cloud will always to betrue
. - path: the file path. If user is login and is owner, the path is relative to current site; otherwise, relative to the root direcotry
FarBox
. - is_deleted: if true, means to delete this file. If only one field in POST, and the field is
path
, it also meansis_deleted=true
. - is_dir: if true, means current path is a direcotry.
- raw_content: the raw content of the file.
- base64: equal to
raw_content
, but accept the content in base64 format. - file: euqal to
raw_content
when usingmultipart/form-data
to upload a file.
Code Snippet
Make sure current login user is the owner of the site
$.post( '/service/gateway/sync', { path: 'this-is-a-test.txt', raw_content: 'post content' }
After calling this code, a new file (this-is-a-test.txt
) whose content is post content
will be added in a site folder of yours.
Notices
- except field
path
,other fields are provided on demand. - if
push_to_cloud
is not set, the file won't sync to Dropbox, and its live time in FarBox is 2 hours. - the priority of geting a file raw content from these fields: file > raw_content > base64 .
- if your interaction is very complicated, maybe guid your user go to Dropbox (or his/her computer ) to operate is a better way.
- only when current login user is owner, the action of deleting a file will sync to Dropbox.
Public Sync API
This API is working on
Basic Sync API
, but it allows other accounts even a anonymous account to push data to your site and your Dropbox.
Make sure the site config ofsync_by_3rd
isyes
; if you want anonymous accounts to push data, the site config ofsync_by_3rd_public
also should beyes
.
API URL
The API URL is /service/gateway/sync_3rd
, and the only acceptable method is POST
.
Allot Space Automatically
Every time accepted a file incoming, the system will compute a filepath to store it automatically, and the path is always under the directory named share
.
You can also declare a subfolder name under share
, if not, the default value is default
. Then the filepath will be like <subfolder>/year/year-month/year-month-day hour-minutes-seconds
.
If current user has the permission to edit the file, please declare the path
field in POST.
How can other acount edit a file? If metadata.account_id
of a document is equal to the account_id of current login account, editing is allowed.
Fields of POST
- fb_token: not required
- push_to_cloud: not required, always be
true
- path: not required, declare it on demand
- is_deleted: not allowed
- is_dir: not allowed
- folder_3rd: specify a subfolder, default value is
default
- ext_3rd: suffix of a file, default value is
txt
- raw_content、base64、file: same usages to
Basic Sync API
Limits
Basic Sync API
- less than 2,000 times per 10 minutes per account
- less than 5,000 times per hour per account
- less than 25,000 times per day per account
Public Sync API
- less than 5 times per 10 minutes per account
- less than 2 times per 10 minutes per IP for anonymous account
- less than 300 times per 10 minutes per site