Ricerca sulla documentazione Canva per sviluppatori

Canva è uno strumento di progettazione grafica molto usato grazie alla sua semplicità, volendo si possono usare anche le loro API in modo tale da poter implementare le loro funzioni nelle propie applicazioni con Canva Connect o al contrario implementare le propie App su Canva usando i SDK di Canva App per migliorare l’esperienza su Canva.

Canva connect offre le sue API, ma per averne l’accesso bisogna avere un’iscrizione a pagamento ai servizi di Canva, il costo dipende dai vari bisogni e richieste perciò è solitamente suggerito contattare Canva direttamente, ma i piani di base sono 3:

  • Gratuito con richieste limitate
  • Pro a $99 con molte più richieste e funzionalità
  • Enterprise che dipende dalle proprie necessità e bisogna parlarne direttamente con Canva.

Per iniziare ad usare Canva connect è necessario installare Curl sulla propia macchina, bisogna poi Autentificare i propi utenti per ottenere un’authorization code usando OAuth 2.1, un framework usato per consentire accesso limitato a risorse potette per un’applicazione, dopo averlo propiamente configuato ed integrato.

Per poter ottenere l’autorizzazione per utente bisogna mandare i propi user sull’URL di autorizzazione di Canva, ciò consente all’user di leggere ed approvare l’accesso all’integrazione di Canva, l’authorization code viene poi scambiato con un access token e un refresh token, dato che gli access token hanno una durata di 4 ore è possibile utilizzare il refresh token per riottenere l’accesso invece di dover rifare il passaggio di autorizzazione.

Dopo aver ottenuto l’API key è possibile inviare richieste all’endpoint per utilizzare l’API di Canva. L’API usa i file di tipo JSON quindi le richieste vanno fatte usando quel formato.

L’esempio seguente presenta la creazione di una cartella per poi caricarci un asset usando l’API di Canva Connect:

Per creare una cartella serve usare il metodo HTTP POST e il path URL https://api.canva.com/rest/v1/folders

Per caricare un asset si usa lo stesso metodo POST con il seguente URL
https://api.canva.com/rest/v1/assets/upload

Parametri del request per creare una cartella:

Header parameters
Authorization: Bearer {token}
Content-Type: application/json

Body parameters
name string
(nome della cartella)

paent_folder_id string?
(creare un folder dentro a questo folder)

parametri del request per caricare dati in una cartella:

Header parameters
Authorization: Bearer {token}
Content-Type: application/json
Upload-Metadata: {Upload Metadata}
Upload-Metadata

name string
(nome dell’asset)

parent_folder_id string
(id della cartella dove l’asset sarà caricato)

tags string
(set di tags che saranno attaccati all’asset)

Body parameter
–data-binary “@filepath”
(per collegare il file caricato con curl)

Ora bisogna creare la curl request
se per esempio l’access token è asg7ah0ss023 la curl request per creare un folder chiamato “Cartella” sarà la seguente:

curl –request POST ‘https://api.canva.com/rest/v1/folders’ \
–header ‘Content-Type: application/json’ \
–header ‘Authorization: Bearer asg7ah0ss023 \
–data ‘{
“name”: “Cartella”,
“parent_folder_id”: “root”
}’

Mentre per caricare per esempio un immagine chiamata “gatto” con il folder id “ASuo7fh42saou23i” bisogna usare la seguente CURL request:

curl –request POST ‘https://api.canva.com/rest/v1/assets/upload’ \
–header ‘content-type: application/octet-stream’ \
–header ‘Upload-Metadata: {
“name”:”gatto”,
“tags”:”manager”,
“parent_folder_id”:”ASuo7fh42saou23i”
}’ \
–header ‘Authorization: Bearer asg7ah0ss023’ \
–data ‘@/Users/username/folder-location/gatto.png’