Pular para o conteúdo principal

Visão geral

A integração OneSignal + Amazon S3 permite a sincronização automática de eventos personalizados de arquivos CSV armazenados em seu bucket S3 diretamente para a API de Eventos Personalizados do OneSignal. Isso permite que você acione Journeys automatizadas e campanhas de mensagens personalizadas com base no comportamento real do usuário armazenado em seu data warehouse. Você pode sincronizar eventos como compras, visualizações de produtos, mudanças de assinatura ou quaisquer ações personalizadas do usuário para acionar automaticamente sequências de onboarding, campanhas de reengajamento, mensagens transacionais e promoções direcionadas através de notificações push, e-mail, mensagens in-app e SMS.

Requisitos

OneSignal

  • Recurso de Eventos Personalizados habilitado (atualmente em beta - entre em contato com support@onesignal.com)

Amazon S3

  • Conta AWS com acesso ao bucket S3
  • Permissões IAM para criar funções e políticas
  • Arquivos CSV com dados de eventos formatados de acordo com os requisitos do OneSignal
  • Arquivos delimitados por vírgula codificados em UTF-8 com extensão .csv

Configuração

Prepare seus arquivos CSV de eventos

Seu bucket S3 deve conter arquivos CSV formatados corretamente com dados de eventos que o OneSignal possa processar: Requisitos de formato de arquivo:
  • CSV descompactado, codificado em UTF-8, delimitado por vírgula com extensão de arquivo .csv
  • Inclua uma linha de cabeçalho (o OneSignal usará os cabeçalhos como nomes de campos de eventos)
  • Represente valores nulos com a string #N/A
  • Valores contendo vírgulas devem ser envolvidos em aspas duplas
  • Valores contendo aspas duplas devem ser escapados com uma segunda aspa dupla
Estrutura de arquivo: O OneSignal trata cada caminho de pasta como uma fonte de dados exclusiva e considera o nome do arquivo como uma versão dos dados dentro desse caminho. Ao processar eventos, o OneSignal sempre selecionará os dados mais recentes no caminho de pasta selecionado com base no timestamp. Ao atualizar dados de eventos no S3, você pode substituir o arquivo existente ou adicionar uma versão mais recente. O OneSignal processará os novos eventos e os enviará para a API de Eventos Personalizados.

Crie a função IAM para o OneSignal

O OneSignal usa autenticação baseada em função para se conectar ao seu bucket S3, seguindo as melhores práticas de segurança da AWS.
1

Crie a função IAM

Crie uma função IAM em sua conta AWS que forneça acesso somente leitura ao seu bucket S3 para o ID de Conta AWS do OneSignal (341876425553):
aws iam create-role \
  --role-name OneSignalS3DataImport \
  --assume-role-policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole"
    }]
  }'
Salve o ARN da Função retornado, pois você precisará dele para a configuração do OneSignal.
2

Conceda permissões S3

Conceda à sua função recém-criada acesso somente leitura ao seu bucket S3:
aws iam put-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-name OneSignalS3Access \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:GetBucketLocation"
      ],
      "Resource": [
        "arn:aws:s3:::YOUR_BUCKET_NAME",
        "arn:aws:s3:::YOUR_BUCKET_NAME/*"
      ]
    }]
  }'
Substitua YOUR_BUCKET_NAME pelo nome real do seu bucket S3.

Configure a conexão S3 do OneSignal

1

Navegue até Fontes de Dados

In OneSignal, go to Data > Integrations and click Add Integration.
2

Selecione Amazon S3

Escolha Amazon S3 da lista de integrações disponíveis.
3

Digite os detalhes da conexão

Forneça as seguintes informações:
  • Região: Região do seu bucket S3
  • Nome do Bucket: Nome do seu bucket S3
  • ARN da Função: O ARN da função IAM da Etapa 1
  • Prefixo: O caminho da pasta contendo seus arquivos CSV de eventos (opcional)
4

Complete o handshake de segurança

O OneSignal gerará um ID externo exclusivo e o exibirá na próxima tela. Atualize sua função IAM para exigir este ID externo:
aws iam update-assume-role-policy \
  --role-name OneSignalS3DataImport \
  --policy-document '{
    "Version": "2012-10-17",
    "Statement": [{
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::341876425553:root"},
      "Action": "sts:AssumeRole",
      "Condition": {"StringEquals": {"sts:ExternalId": "GENERATED_EXTERNAL_ID"}}
    }]
  }'
Substitua GENERATED_EXTERNAL_ID pelo ID externo mostrado no dashboard do OneSignal.
5

Teste a conexão

Clique em Testar Conexão no OneSignal para verificar se a configuração está funcionando corretamente.

Modos de processamento de CSV

O OneSignal oferece dois modos ao ler arquivos CSV de eventos do seu bucket S3:

Mais Recente (Padrão)

O OneSignal processa apenas o arquivo mais recente no prefixo S3 e grupo de pastas configurado. O arquivo único é interpretado como o conjunto completo de eventos a processar. Este modo funciona bem quando:
  • Um único arquivo contém todos os eventos para um período de tempo
  • Novas versões de arquivos são adicionadas ao longo do tempo com dados de eventos atualizados
  • Você deseja processar um lote completo de eventos de uma só vez

Mesclar Todos

O OneSignal pega todos os arquivos no prefixo S3 e grupo de pastas configurado e os mescla em um único conjunto de dados antes de processar eventos. Este modo é útil quando:
  • Seus dados de eventos foram divididos em vários arquivos
  • Você deseja processar eventos de várias fontes
  • Arquivos estão sendo adicionados incrementalmente com novos eventos
No modo Mesclar Todos, todos os arquivos CSV devem ter exatamente os mesmos nomes de colunas e ordem.

Mapeamento de dados de eventos

Uma vez conectado, você precisará mapear suas colunas CSV para os campos de eventos personalizados do OneSignal:
1

Revise os campos detectados

O OneSignal detectará automaticamente as colunas dos seus arquivos CSV de eventos e sugerirá mapeamentos.
2

Mapeie os campos de evento obrigatórios

Mapeie os campos obrigatórios para eventos personalizados:
  • Nome do Evento (obrigatório): O nome/tipo do evento
  • ID Externo (obrigatório): ID de Usuário Externo
  • Timestamp do Evento (opcional): Quando o evento ocorreu. Caso contrário, assume-se que é agora.
3

Configure as configurações de sincronização

Defina a frequência de processamento de eventos e preferências de entrega.

Event data mapping

Map your to OneSignal’s custom events format:
OneSignal FieldDescriptionRequired
nameevent_nameEvent identifierYes
external_iduser_idUser identifierYes
timestampevent_timestampWhen event occurredNo
propertiesevent_dataNo

Limitações

  • Consultas SQL: Fontes S3 não suportam consultas SQL ou transformações avançadas em dados de eventos
  • Tamanho do Arquivo: Arquivos CSV individuais não devem exceder 1GB
  • Frequência de Atualização: O intervalo mínimo de sincronização é de 15 minutos
  • Tipos de Arquivo: Apenas arquivos CSV são suportados (sem JSON, Parquet, etc.)

Perguntas frequentes

O que acontece se meu arquivo CSV tiver erros de formatação?

O OneSignal ignorará linhas malformadas e fornecerá logs de erro detalhados no dashboard de integrações. Problemas comuns incluem colunas obrigatórias ausentes, formatos de timestamp inválidos e contagens de colunas inconsistentes.

Com que frequência o OneSignal verifica novos arquivos?

O OneSignal verifica seu bucket S3 com base na frequência de sincronização configurada, com um intervalo mínimo de 15 minutos.

Precisa de ajuda?

Entre em contato com nossa equipe de suporte em support@onesignal.com ou use o chat no aplicativo para obter assistência com a configuração da sua integração S3.