Shopping Cart integration

FotoWeb allows you to build custom check-out applications or integrate FotoWeb with other web shops through the GetShoppingCart command request.

 

developing_with_fotoweb_6_0_07_00_rot.jpg

Figure 1: UML diagram of an integration with FotoWeb's shopping cart

 

In a typical application, users would add files to FotoWeb's shopping cart. When they are satisfied with their selection and click Checkout, the user is transferred to a third-party checkout application. The check-out application can run on the same server as FotoWeb, or in a different location.

The checkout application contacts FotoWeb and retrieves the content of the shopping cart as an XML document. It then guides the user through whatever steps is necessary.

3.1 Data format

'GetShoppingCart.fwx' returns the specified user's complete shopping cart information in XML format. This XML document contains complete user information and list of files in the shopping cart. Each file list entry contains detailed information about the file such as path, size, image information (for image files), IPTC data and a set of tokens that give access to thumbnails, previews and to download the files.

developing_with_fotoweb_6_0_07_01_rot.jpg

Figure 2: XML document delivered from GetShoppingCart.fwx

3.1.1. Access URL

The GetShoppingCart command request is called as if requesting any other Fwx page with its parameters passed in with query string:

http://servername.domain.com/fotoweb/cmdrequest/GetShoppingCart.fwx?AuthKey=< Integration Authentication Key>&SessionID=<User's session id>& Preview1Size=400&Preview2Size=900&Preview3Size=1800&Preview4Size=3500

3.2 Interface

As illustrated in the sample access URL, this command request takes in several parameters. The two first parameters 'AuthKey' and 'SessionID' are required, while the remaining 'PreviewXSize' parameters are optional.

3.2.1. AuthKey

This is a required parameter that refers to the integration authentication key defined in the site settings. This key serves two purposes. It is used to check if the 'GetShoppingCart' functionality is enabled on the site and to check validity of requests made to this command request.

To set this key, right click site's context menu in FotoWeb Administration Console and navigate to Properties | Advanced | Integration Authentication Key. This key is not provided through any tag/variable in FotoWeb and must be known by the calling page/application.

3.2.2. SessionID

This is a required parameter that refers to the session id of the user whose shopping cart is being retrieved. The session referred by this id must exist and must not be timed out.

The session id of the currently logged on user is provided through the global 'CurrentUser' tag's variable 'currentUser.SessionId'. This variable can be accessed from anywhere in the FotoWeb templates without creating the 'CurrentUser' tag context.

3.2.3. PreviewXSize

The 'PreviewXSize' parameters are optional. These parameters are used to create preview ids that can be passed to 'preview.fwx' to get previews of different sizes.

Preview1Size

This parameter is used to create 'PREVIEW_ID'. If this parameter is not specified, then the site's preview size is used for the preview generated by this id.

Preview2Size

This parameter is used to create 'PREVIEW2_ID'. If this parameter is not specified, then the preview generated by this id has a max dimension of 900 pixels.

Preview3Size

This parameter is used to create 'PREVIEW3_ID'. If this parameter is not specified, then the preview generated by this id has a max dimension of 1800 pixels.

Preview4Size

This parameter is used to create 'PREVIEW4_ID'. If this parameter is not specified, then the preview generated by this id has a max dimension of 3500 pixels.