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.