Resize designs
After a user creates a design for a product, they may want to change its dimensions to suit another product. This lets a user print the same design on different products.
This document explains how to resize an existing design for another product.
Partners can also use Canva's improved Resize featureto automatically resize a user's design. This lets a partner upsell users to more profitable products.
How resizing works
When a partner resizes an existing design, the partnership SDK:
- Duplicates the design.
- Applies properties of another product.
- Assigns a separate design ID.
By duplicating a design, users can preserve their original design. Canva enables the feature to duplicate designs only on request.
Some examples of the properties you can apply are height, width, and units. Canva maintains the properties for all products of an integration. Canva identifies each product with a partner product ID. To resize an existing design, a partner must pass a design ID and a partner product ID.
Step 1: Request Canva to enable the feature
Partners must request Canva to enable the feature to duplicate designs.
To raise a request:
- Navigate to the Canva Helpdesk(opens in a new tab or window).
- Select Integration support.
- Fill out the required fields.
- Click Send.
Step 2: Get the design ID
To get the ID of an existing design, use the onDesignOpen
callback when a user creates the design.
The following shows how to store the design ID in a variable:
let userDesignId;(async () => {const api = await Canva.Partnership.initialize({apiKey: '<partner_api_key>',autoAuthToken: '<auto_auth_token>',container: document.getElementById('container'),});api.showCatalog({onProductSelect: (opts) => {api.createDesign({...opts,onDesignOpen: ({ designId }) => userDesignId = designId;});},});})();
Partners can save the design ID locally or in a database. Partners can associate the design ID with the current user.
Step 3: Resize the design
To resize a design, call the createDesign
method, and pass the design ID and the partner product ID.
api.createDesign({designId: userDesignId,partnerProductId: "Poster11x17in",designSource: "direct",onBackClick,onArtworkCreate,});
The Partnership SDK uses the existing design as the starting point of a new design.
Limitations
- Users can't resize their design from inside the Canva editor.
- Users can resize only their designs, not others'.