Importazioni tramite API

Connectif consente di automatizzare le importazioni massive di contatti, prodotti e coupon tramite la API di Importazione.

In questo articolo imparerai come importare le informazioni dei tuoi contatti, del tuo catalogo prodotti e dei tuoi coupon di acquisto tramite la API di Connectif.

  

Questo articolo fa parte della guida per creare un'integrazione personalizzata.
Se la tua integrazione è tramite modulo, questa etichetta verrà inserita automaticamente nel tuo eCommerce.

 

Prima di iniziare: casi d'uso

Questa API copre i seguenti casi d'uso:

  • Se desideri automatizzare periodicamente (giornalmente, settimanalmente...) la sincronizzazione di tutti o della maggior parte dei tuoi contatti o prodotti.
  • Se desideri importare coupon in un insieme di coupon.

Questa API non copre l'importazione degli eventi di acquisto, ma può essere un buon punto di partenza. Per configurare gli acquisti, consulta la documentazione della API di Connectif.

 

PASSO 1. Creazione della chiave API

1. Accedi a Configurazione negozio dal menu laterale sinistro.

2. Nel selettore di schede, vai su "API e accessi IP" e fai clic su API Keys.

Importazioni tramite API (screenshot agosto 24) - 1-min.png

3. Fai clic sul pulsante   Crea nuova API Key.

Importazioni tramite API (screenshot agosto 24) - 2-min.png

4. Nella sezione Importazioni del pannello di creazione, abilita i permessi per Lettura, Scrittura e Cancellazione massiva.

Importazioni tramite API (screenshot agosto 24) - 3-min.png

 

5. Salva la chiave API e copiala per utilizzarla successivamente nel tuo script di automazione.

Importazioni tramite API (screenshot agosto 24) - 4-min.png

 

PASSO 2. Creazione dell'importazione

  

Per creare l'importazione sarà necessario effettuare una richiesta HTTP POST multipart/form-data, che invierà il file CSV e i diversi metadati (come il delimitatore, il tipo di importazione, ecc.).

6. Crea e verifica che il tuo file CSV di importazione rispetti le seguenti condizioni:

  • Codifica UTF-8.
  • La prima riga deve contenere il nome delle intestazioni di ciascun campo.
  • Le intestazioni del file dei contatti devono corrispondere agli ID dei Campi del contatto di Connectif, che troverai nel tuo account, in "Contatti > Campi del contatto".

API_di_importazione_-_5-min.png

 

Nel seguente CSV si può vedere un esempio in cui _email, _name e _points corrispondono agli identificatori dei campi di sistema Email, Nome e Punti.

_email,_name,_points
john@example.org,John,10
micheal@example.org,Michael,10
steve@example.org,Steve,20
mark@example.org,Mark,12
carl@example.org,Carl,10

 

  • I dati dei prodotti devono corrispondere ai nomi dei campi come indicato in questo articolo.
  • L'importazione dei coupon deve contenere un'unica intestazione "code".

7. Crea lo script e includi al suo interno la chiave API generata nel passo 1.

 

Esempio

 

Nel seguente esempio si trova uno script base in Node.js per automatizzare l'importazione dei contatti.

Una volta creata l'importazione, avrà il seguente aspetto:

const fetch = require('node-fetch');
const fs = require('fs');
const FormData = require('form-data');

const apiKey = process.env.API_KEY;
const filePath = process.env.FILE_PATH;

async function main() {
    const form = new FormData();
    form.append('type', 'contacts')
    form.append('delimiter', ',')
    form.append('overrideExisting', 'true')
    form.append('updateOnlyEmptyFields', 'false')
    form.append('file', fs.createReadStream(filePath));

    const response = await fetch('https://api.connectif.cloud/imports', {
        method: 'POST',
        headers: {
            'Authorization': `apiKey ${apiKey}`,
            ...form.getHeaders()
        },
        body: form
    });

    if (!response.ok) {
        console.error(response.status, await response.json());
        process.exit(1);
    }

    const { id, total } = await response.json();

    while(true) {
        const getResponse = await fetch(`https://api.connectif.cloud/imports/${id}`, {
            method: 'GET',
            headers: {
                'Authorization': `apiKey ${apiKey}`
            }
        });
        const { success, errors, status } = await getResponse.json();
        console.log(`completed ${success + errors} of ${total}`);

        if (status === 'finished') {
            console.log('Success 🎉 🎉 🎉 🎉 🎉 🎉 🎉');
            process.exit(0);
        }
        await new Promise(resolve = setTimeout(resolve, 2000));
    }
}

main().catch(error = {
    console.error(error);
    process.exit(1);
});
  

Lo script crea un'importazione a partire da un file CSV il cui percorso viene impostato tramite variabile di ambiente. Dopo la creazione dell'importazione, controlla il suo stato ogni 2 secondi e termina quando lo stato dell'importazione è finished

 

 

Successo!
Le integrazioni tramite API sono ora pronte.

 


Domande frequenti

Qual è la dimensione massima dei file da importare?

I file CSV da importare non possono superare i 50 MB di dimensione.

 

Quante importazioni si possono accodare contemporaneamente?

È possibile accodare un massimo di 10 importazioni alla volta. Raggiunto questo limite, bisognerà attendere che un'importazione sia completata prima di aggiungerne un'altra in coda.

 

Le importazioni effettuate tramite API sono consultabili dall'applicazione Connectif?

Sì, il motore di importazione è lo stesso utilizzato dall'applicazione Connectif. Pertanto, le importazioni effettuate via API e quelle tramite app sono entrambe visibili nell'elenco delle importazioni.

 

Posso cancellare un'importazione in coda o in corso?

Attualmente, è possibile cancellare le importazioni solo negli stati finished o error.

 


Continua a imparare!

Per sfruttare tutto il potenziale del tuo account Connectif, ti consigliamo di proseguire con i seguenti articoli: