A Connectif permite automatizar importações em massa de contatos, produtos e cupons por meio da API de Importação.
Neste artigo, você aprenderá como importar informações de seus contatos, catálogo de produtos e cupons de compras através da API da Connectif.
Antes de começar: casos de uso
Essa API cobre os seguintes casos de uso:
- Se você deseja automatizar periodicamente (diariamente, semanalmente...) a sincronização de todos ou da maioria dos seus contatos ou produtos.
- Se você deseja importar cupons para um conjunto de cupons.
Esta API não cobre a importação de eventos de compras, mas pode servir como ponto de partida. Para configurar as compras, consulte a documentação da API da Connectif.
PASSO 1. Criação da chave API
1. Acesse a Configuração da loja no menu lateral esquerdo.
2. No seletor de abas, vá para "API e acessos IP" e clique em API Keys.
3. Clique no botão Criar nova chave API.
4. Na seção Importações do painel de criação, habilite as permissões para Ler, Escrever e Excluir em massa.
5. Salve a chave API e copie-a para usá-la mais tarde em seu script de automação.
PASSO 2. Criação da importação
6. Crie e verifique se seu arquivo CSV de importação cumpre as seguintes condições:
- Codificação UTF-8.
- A primeira linha deve conter o nome dos cabeçalhos de cada campo.
- Os cabeçalhos do arquivo de contatos devem coincidir com os IDs dos Campos do contato da Connectif, que você encontrará na sua conta, em "Contatos > Campos do contato".
_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
- Os dados de produtos devem coincidir com os nomes dos campos indicados neste artigo.
- A importação de cupons deve conter um único cabeçalho "code".
7. Crie o script e inclua nele a chave API gerada no passo 1.
Exemplo
Uma vez criada a importação, ela terá o seguinte aspecto:
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);
});
Perguntas frequentes
Qual é o tamanho máximo dos arquivos a serem importados?
Os arquivos CSV a serem importados não podem exceder 50 MB de tamanho.
Quantas importações podem ser enfileiradas ao mesmo tempo?
É possível enfileirar até 10 importações ao mesmo tempo. Ao atingir esse limite, será necessário aguardar a conclusão de uma importação para adicionar a próxima à fila.
As importações realizadas via API podem ser consultadas no aplicativo Connectif?
Sim, o mecanismo de importação é o mesmo utilizado pelo aplicativo Connectif. Portanto, as importações feitas via API e pelo app estão disponíveis na lista de importações.
Posso excluir uma importação enfileirada ou em progresso?
Atualmente, é possível excluir importações apenas nos estados finished ou error.
Continue aprendendo!
Para aproveitar ao máximo sua conta Connectif, recomendamos continuar com os seguintes artigos:
-
Onboarding, para ganhar habilidade com nossa interface.
-
Workflows iniciais, para implementar suas primeiras estratégias na conta.
-
Integrações com sistemas externos, para integrar com Facebook, formulários e webhooks do seu site.
-
Eventos que consomem Atividades, para entender melhor o consumo da sua conta.