This is an old documentation. Go to the latest Customer's Canvas docs

IFinishDesignResult Interface

A structure used by Editor.finishProductDesign to store a return value. For details, see the Introducing the IFrame API topic.

// Completing product customization.
    // If product customization is completed successfully.
    .then(function (result) {
        // Get the promise properties.
        hiResOutputUrls = result.hiResOutputUrls;
        proofImageUrls = result.proofImageUrls;
        stateId = result.stateId;
        userId = result.userId;
        returnToEditUrl = result.returnToEditUrl;
        boundsData = result.boundsData;
        userChanges = result.userChanges;
        preflightProblems = result.violationWarningData;
        console.log("User " + userId + " successfully saved state " + stateId);
    // If there was an error thrown when completing product customization.
    .catch(function (error) {
        console.error("Completing product customization failed with exception: ", error);



boundsData: object

Width, height, left, and top coordinates of the rectangle bounding all items in a group, in points. For details, see the Calculating Area of Design Layers topic.

boundsData declaration

  • currentSurface: object

    Width, height, and upper-left corner coordinates of the bounding rectangle of all items in the current surface, in points.

    • height: number

      Height of the bounding rectangle.

    • left: number

      X-coordinate of the upper-left corner of bounding rectangle (relative to the print area).

    • top: number

      Y-coordinate of the upper-left corner of bounding rectangle (relative to the print area).

    • width: number

      Width of the bounding rectangle.

  • Optional surfaces: IRectangleF []

    An array of coordinates of rectangles bounding all items on all product surfaces.


hiResOutputUrls: string []

An array of links to the hi-res output.


proofImageUrls: string [] []

An array of permanent links to proof images.


returnToEditUrl: string

A return-to-edit URL. This property is provided for backward compatibility only; it utilizes the old API based on a query string. To learn on how to perform the same functionality using IFrame API, see Loading Product State Into Editor.


stateId: string

A product state identifier.


userChanges: IUserChanges

Returns an object containing all changes made by the user when personalizing the product.


userId: string

The identifier of the user who currently works with the editor.


violationWarningData: IViolationWarningData []

For items having preflight problems, it provides the item name, item type, corresponding surface name and index, and states of violation warnings. This array allows for detecting products that have violations of the image resolution, safety lines, regions, and text clipping.