API method flipbook.add

Uploads a new PDF document to an already existing collection.

Note: Requests must be made to https://upload.flipsnack.com/v1.

Request parameters

Name

Type

Description

apiKey (required)

string

The API key provided for your user. If it is not specified, the request will return the error code "30 - Missing mandatory parameter". If the key is incorrect the request returns the error code "41 - Invalid credentials".

signature (required)

string

The signature must be calculated by you and added to the request. See How to sign a request for more information. If the parameter is missing the request will return the error code "30 - Missing mandatory parameter". If the signature is incorrect the request will return the error code "44 - Invalid signature".

action (required)

string

The API method that should be called. In this case the value should be flipbook.add. If it is not specified, the request will return the error code "30 - Missing mandatory parameter".

collectionHash (required)

string

The hash of the collection to which the new flipbook will be added. If it is not specified, the request will return the error code "30 - Missing mandatory parameter".

file (required)

file

The PDF document that should be uploaded.

Documents can be uploaded either using a local file, through the file parameter, or from an external URL, using the fileUrl parameter. You must specify at least one of them. If both parameters are specified, the API will take into consideration only the file parameter.

If neither file or fileUrl are specified the request will return the error code "30 - Missing mandatory parameter". Also, file uploads are bound to API limitations, which allow only PDF files of maximum 100 MB and 500 pages.

fileUrl (required)

string

The URL of a PDF document.

Documents can be uploaded either using a local file, through the file parameter, or from an external URL, using the fileUrl parameter. You must specify at least one of them. If both parameters are specified, the API will take into consideration only the file parameter.

If neither file or fileUrl are specified the request will return the error code "30 - Missing mandatory parameter". Also, file uploads are bound to API limitations, which allow only PDF files of maximum 100 MB and 500 pages.

format

string

The format of the response from the server. Possible values are json, jsonp and xml. If you set format to jsonp, you must also specify the callback parameter.

Default: json.

callback

string

The name of the callback function used for the jsonp response. This parameter is required if format is set to jsonp. Otherwise it is ignored.

title

string

The title of the flipbook. If it is not specified, the title will be automatically extracted from the document.

description

string

The description of the flipbook. If it is not specified, the application will automatically fill in the description with information extracted from the document.

Response parameters

.

Name

Type

Description

flipbookHash

string

The hash generated for the collection item.

flipbookPageCount

number

The number of pages of the collection item.

flipbookTitle

string

The title of the flipbook.

flipbookDescription

string

The description of the flipbook.

extension

string

The extension of the document that the flipbook is based on. Extensions can be pdf, jpg or png.

convertStatus

string

The status of the flipbook specifies if it has finished converting or if it is still in the process of conversion. Possible values are PROCESSING, FAILED and COMPLETE.

Error codes

Code

Message

Explanation

30

Missing mandatory parameter

The request does not contain one or more required parameters. There are at least 3 required parameters for every request: apiKey, signature and action. Other methods may also have extra mandatory parameters. Please check the API Reference for more information.

31

Requests per second limit exceeded

There were too many requests per second made with the same API key.

32

Requests per minute limit exceeded

There were too many requests per minute made with the same API key.

33

Uploads per month exceeded

You have exceeded the maximum number of uploads allowed per month.

34

File size too large

The file you have uploaded has a size that exceeds the maximum file size allowed. For more information please see the limitations imposed by the API.

35

Collection maximum pages number exceeded

You have uploaded a document that exceeds the maximum of 500 pages allowed. For more information please see the limitations imposed by the API.

36

Multiple files upload not allowed

Flipsnack API allows only one file per upload request. Upload requests are made via the collection.create, collection.setLogo, collection.setBackgroundImage and flipbook.add .

40

Bad request

  • You made a POST request for an API call that is not uploading files.

  • You made a GET request for an API call that uploads files.

  • Your request is incorrectly formatted or the URL is invalid.

41

Invalid credentials

The API key provided in the request is invalid.

42

Invalid action

The API method you specified in the request is incorrect. Please see the API Reference for the list of possible methods.

43

Forbidden

You are not allowed to access the specified collection: it has been deleted or the collection belongs to another user.

44

Invalid signature

The signature you provided is incorrect - it does not match the request.

45

Invalid file format

The file you are trying to upload has an incorrect file type. For more information please see the limitations imposed by the API.

Example

HTML form example

Curl example

curl -F "action=flipbook.add"\
-F "apiKey=LK12NS-0-IOBW3S89VVJH12Z"\
-F "collectionHash=d3m0h45h"\
-F "title=Second doc"\
-F "file=@\"/mydocs/document2.pdf\";filename=\"document2.pdf\""\
-F "signature=2298a6456c1dd2d12b895ce4688ffe31"\
https://upload.flipsnack.com/v1/

Responses

XML

20
OK
da8637256a0276f13999204f5f1i462s
Second doc
pdf
COMPLETE

JSON

{
"code": 20,
"status": "OK",
"data": {
"flipbookHash": "da8637256a0276f13999204f5f1i462s",
"flipbookTitle": "Second doc",
"extension": "pdf",
"convertStatus": "COMPLETE"
}
}

JSONP

callbackFunctionName({data});
// callbackFunctionName is the function name specified by the callback parameter, in the request
// the {data} is the actual JSON response