finishProductDesign Method


  • Saves the current product state and returns links to the hi-res output. 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);


    • Optional options: object

      file name, maximum width and height of proof images.

      • Optional fileName: string

        a name of the resulting file. This name is only used when you allow end-users directly downloading hi-res files using the links returned by the finishProductDesign method. The file name is combined with a file extension of configured output format. For example, if you pass business_card as a value of the argument and configure Customer's Canvas to save results in PDF, the result file name will be business_card.pdf

      • Optional proofMaxHeight: number

        maximum height of proof images

      • Optional proofMaxWidth: number

        maximum width of proof images

    Returns Promise < IFinishDesignResult >

    Returns a promise with the resulting product details: the bounding rectangle, links to the hi-res output, permanent links to proof images, a return-to-edit URL, user changes, userId, and stateId.