IFinishDesignResult Interface

A structure used by Editor.finishProductDesign to store a return value. For details, see the Handling Product Customization 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;
        outOfRegionItems = result.outOfRegionItemData;
        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, and upper-left corner coordinates of the bounding rectangle of all items in a group, in points. For details, see the Measuring Products 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 bounding rectangle upper-left corner.

    • Top: number

      Y-coordinate of the bounding rectangle upper-left corner.

    • Width: number

      Width of the bounding rectangle.


hiResOutputUrls: string []

An array of links to the hi-res output.


outOfRegionItemData: IOutOfRegionItemData []

For items that go out of the region, it contains the item name, item type, corresponding surface name, and surface number. This array allows for detecting products that have out-of-region items.


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.