Ir para o conteúdo

Notificação

Uma Notificação é um conceito de nível de aplicativo que permite que um desenvolvedor envie uma notificação ou mensagem a um Usuário. Esta mensagem pode ter várias opções que definem como o Usuário pode responder à mensagem. Quando opções estão presentes em uma Notificação, a resposta do Usuário é rastreada automaticamente por App Builder. As notificações suportam anexos de arquivo de qualquer tipo (por exemplo, .PDF, .DOCX, .TXT, .XLSX, etc.). Se você estiver usando anexos de arquivo, a notificação usará o data/pdf diretório se nenhum outro diretório for especificado. Alternativamente, se você especificar um FileDataSourceId, este é o local App Builder procurará o(s) anexo(s).

Para usar os objetos de dados públicos necessários para a Notificação, seu aplicativo requer App Builder (Selado) para ser configurado como uma Fonte de Dados disponível para o aplicativo. Além de ser uma Fonte de Dados disponível para o aplicativo, você precisa estabelecer ou configurar um link entre as Fontes de Dados.

Em termos de qual URL é usado para enviar notificações, App Builder usará as informações de URL especificadas na Regra de Notificação, se estiverem disponíveis. Se não for encontrado, App Builder retornará e usará a URL padrão do Site do Servidor. O valor padrão do Site do Servidor é configurado em IDE > Provedores de Segurança > Mais (no painel Configuração) > Sites. Para obter mais informações sobre sites e URL, consulte Sites e aliases artigo.

Nota

Os links de notificação são ativados por padrão por 7 dias. Após o período de 7 dias, eles expiram e não são mais links ativos. Atualmente, esta não é uma configuração configurável em App Builder.

Tipos de Mensagem

Uma notificação pode usar um dos seguintes tipos de mensagem:

  • Email - Não surpreendentemente, um email.
  • SMS - Uma mensagem SMS enviada e recebida pelo serviço Twilio.
  • App Builder alerta - Um pop-up que aparece no navegador do usuário quando ele está conectado App Builder. Anteriormente chamado de Notificação.

Todos os tipos de mensagens suportam a adição de opções que fornecem maneiras para o usuário responder a uma mensagem. Para Emails e App Builder alertas, URLs são incluídos na mensagem que vinculam de volta para App Builder. No caso do tipo de entrega SMS, você também pode responder a um SMS com o nome da opção para executar o evento associado.

Versões futuras de App Builder provavelmente suportará o envio de mensagens para servidores REST.

Opções

As notificações podem ter 0 ou mais opções. Quando uma notificação não contém opções, não há resposta esperada do usuário e, consequentemente, nenhum rastreamento da resposta do usuário é fornecido. Nenhum link será adicionado à mensagem de saída. Isso é considerado uma notificação Informativa.

Quando uma notificação contém 1 ou mais opções, uma mensagem é enviada com links de URL de volta para App Builder que permitem que o Usuário responda de alguma forma. A resposta do Usuário à mensagem (ou seja, qual opção ele selecionou) é rastreada pela notificação.

Configuração

As opções de notificação podem ser configuradas de duas maneiras:

  1. Link para a página - Um link é fornecido que permite ao Usuário navegar para uma página. Navegar com sucesso para a página está considerando uma resposta completa à opção.
  2. Executar evento de página - Um link é fornecido que envia o Usuário para uma página e executa um evento especificado antes que a página seja renderizada. Novamente, a resposta do Usuário é considerada completa quando o evento é disparado.

Para que uma página seja elegível para qualquer uma das opções acima, ela deve ser marcada como Compartilhada.

Como exemplo, um Administrador pode executar um evento que faz com que um email seja enviado a um Usuário final. O email tem algum texto e três botões nele:

  1. Revisão - Clicar em Revisão pode levar o usuário a uma página específica em App Builder.
  2. Aprovar - Clicar em Aprovar pode levar o usuário para uma página diferente E executar um evento em alguns objetos de dados na página.
  3. Rejeitar - Clicar em Rejeitar pode levar o usuário para uma página diferente E executar um evento na mesma página ou em objetos de dados de páginas diferentes.

O evento deve ser executado antes que a página seja renderizada, pois pode afetar dados contidos nos painéis da página. Para executar um evento, o desenvolvedor deve:

  • Configure a página Link para como Compartilhada.
  • Inclua o evento no Data Object para a página ou como uma das fontes de dados do painel de linha única na página. Mais ilustrações deste ponto estão disponíveis na seção Data Object Event Binding abaixo.

Associação de Eventos de Objeto de Dados

App Builder limita os eventos que podem ser vinculados a um link. Especificamente, essa limitação permite apenas eventos que pertencem a um Data Object / Table que está vinculado a um painel de linha única não vinculado na página de destino. Por exemplo, vamos considerar uma página que tem 6 painéis de linha única:

  • Cliente -> Endereço do Cliente -> Mapa do Cliente
  • Funcionário -> EndereçoDoFuncionário -> MapaDoFuncionário

Neste exemplo, os painéis Customer e Employee não estão vinculados a nenhum outro painel na página. Portanto, um desenvolvedor pode escolher eventos dessas duas fontes de dados de painéis (junto com um objeto de dados de página, se um for especificado).

App Builder também limita os eventos que podem ser vinculados a eventos não-sistema. Por exemplo, o desenvolvedor não pode vincular de volta aos eventos Save, Insert, Update ou Delete.

Registro de Notificação

Vinculando a uma Notificação

A página Registro de Notificação em App Builder permite que o desenvolvedor vincule uma Notificação a um aplicativo. Este é um relacionamento de 1 para 1. Informações adicionais sobre a mensagem de notificação podem ser configuradas dentro do registro de notificação.

Criação de Mensagem

A mensagem de notificação pode ser definida na seção Modelo da página Registro de Notificação. Este é o conteúdo principal da notificação em si.

As substituições são realizadas no Modelo e usam o {{nome do campo}}sintaxe. As substituições podem adicionar um opcional url sinalizador para indicar que o valor é uma url e requer codificação de url, por exemplo {{nome do campo|url}}.

Em relação à substituição, o corpo pode conter:

Hello {{NomedoCliente}},

Nesse caso, CustomerName deve estar contido nas colunas da regra de notificação junto com os outros campos obrigatórios.

Para emails, um Assunto pode ser especificado na página de Registro de Notificação. O campo Assunto também suporta substituições.

Traduções

As notificações suportam traduções rudimentares. Existem três campos que são usados para traduções:

  1. Opção de notificação Nome
  2. Registro de notificação Mensagem
  3. Assunto do registro de notificação (para Emails)

Ao criar a mensagem de notificação, App Builder tentará encontrar traduções para cada um desses campos, assumindo que seu conteúdo especifica a chave de tradução correspondente. O desenvolvedor também precisa adicionar as chaves ao pacote de tradução para o aplicativo manualmente (atualmente, elas não são importadas automaticamente para um aplicativo). É preciso ter cuidado com o campo Template para adicionar a chave de tradução como uma string bruta e não como HTML. Há um ícone de "código" no canto inferior direito do campo Notification Registration Template que permite que você edite a string diretamente.

Limitações

  1. O evento executado no link de opção pertence aos Dados da Página ou a um Objeto de Dados do Painel de Linha Única. Atualmente, não exibimos nenhum resultado de validação ou mensagens de postagem para eventos de nível de página. Em outras palavras, o evento é executado primeiro, quando ele é concluído, o Usuário é redirecionado para sua página. No momento em que eles chegam à sua página, os resultados do evento são perdidos. Portanto, se o evento tiver uma mensagem de postagem ou falhar na validação, o sistema não mostrará esses resultados ao Usuário final. O desenvolvedor pode contornar isso facilmente exibindo dados em seus painéis que mudam com base na execução bem-sucedida de um evento.

    Devido à limitação acima, os avisos de validação farão com que um evento não seja executado. Não temos uma IU em vigor que permita ao Usuário aceitar ou rejeitar o aviso.

  2. A tabela Arquivo de uma fonte de dados do Amazon S3 não pode ser obtida por uma regra de notificação.

Objetos de Dados Públicos de Notificação

Os objetos de dados públicos usados como alvos de notificação são definidos abaixo.

Colunas Comuns

Estas colunas são comuns em todos os objetos de dados públicos de notificação:

Nome Obrigatório Multi-alvo Exemplo Descrição
Binding() Não Sim CustomerID Se fornecido, isso identificará o registro correspondente à opção para esta notificação. Várias ligações podem ser definidas.

Email

O objeto de dados públicos Email é semelhante, mas não totalmente consistente com a funcionalidade do SMTP Email Plugin. As colunas para o objeto de dados públicos Email são as seguintes:

Nota

Se você estiver usando mais de um endereço Email para enviar Para ou Cc, separe os valores com uma vírgula.

Nome Obrigatório Multi-alvo Exemplo Descrição
To() Sim Sim 'user1@zudy.com,user2@zudy.com' Lista delimitada por vírgulas de endereços email para envio. Vários campos To() podem ser direcionados para envio a vários destinatários (além de usar valores delimitados por vírgulas). Uma exceção será lançada se este campo não for fornecido ou for nulo.
Cc() Não Sim 'user1@zudy.com,user2@zudy.com' Lista delimitada por vírgulas de endereços email para cc. Semelhante a To(), vários alvos podem ser especificados para concatenação automática.
De Não Não 'noreply@zudy.com' Define o endereço de origem para o email. Se De não for fornecido, o endereço de origem definido no registro Be_NotificationEndpoint será usado.
App Builder url Depende Não 'https://example.com/MyApp Builder' App Builder a URL é obrigatória se a notificação contiver opções. Esta URL é usada ao gerar links para as várias opções de notificação. Esta é a URL para alcançar App Builder do ponto de vista do receptor da mensagem. Não requer uma barra final.
Attachment() Não Não 'somepath/files/*' Se fornecido, anexará arquivo(s) ao email. Se a string Attachment() terminar com um asterisco (*), a string é assumida como representando um caminho de diretório, e todos os anexos de arquivo no diretório serão anexados ao email.
FileDataSourceId Não Não UUID Identificador exclusivo que se refere à fonte de dados que deve ser referenciada para localizar o(s) anexo(s) de arquivo.
Idioma Não Não 'es' Se fornecido, as traduções serão tentadas para os campos Template e Subject do Notification Registration associado. Além disso, o Name das opções de notificação será traduzido.

Mensagem de Texto

O objeto de dados públicos Text Message é usado para enviar SMS. As colunas para o objeto de dados públicos Text Message são as seguintes:

Nome Obrigatório Multi-Target Exemplo Descrição
To() Sim Sim '+15559990000' Um único número de telefone no formato esperado pelo Twilio. Vários campos To() podem ser direcionados para enviar a vários destinatários. Uma exceção é lançada se este campo não for fornecido ou for nulo.
Idioma Não Não 'es' Se fornecido, as traduções serão tentadas para o campo Template do Notification Registration associado. Além disso, o Name das opções de notificação será traduzido em uma versão futura.

App Builder alerta

A notificação App Builder o objeto de dados públicos Alert é semelhante, mas não totalmente consistente com o objeto de dados públicos Create_Notification. As colunas do App Builder alert objeto de dados públicos são os seguintes:

Nome Obrigatório Multi-alvo Exemplo Descrição
To() Sim Não todos To representa o Usuário para o qual estamos enviando. Uma exceção é lançada se este campo não for fornecido ou for nulo.

Pode usar expressões especiais:

'session' para atingir a sessão do Usuário atual
'all' para atingir todos os Usuários atualmente conectados App Builder.

Para enviar para um específico App Builder usuário, especifique o UserId do Usuário.
De Não Não who('userid') De representa o usuário de quem esta mensagem é. Se não for fornecido, o Usuário que está executando a ação será assumido.
Persistente Não Não 1 Valor booleano que indica se o alerta deve ser considerado persistente. Este atributo só é aplicável ao enviar um alerta para um UserId. Todos os alertas têm um botão Dismiss que remove o alerta do painel de notificação do usuário. O usuário pode ignorar o alerta ou fechar sua janela ou sair do App Builder. Se persistente for verdadeiro (1), o alerta será exibido repetidamente, cada vez que o Usuário efetuar login App Builder, até que o Usuário descarte ativamente o alerta. Use esta técnica para garantir que um alerta seja lido pelo Usuário.
Tempo limite Não Não 15 Se fornecido, o Tempo limite representa a quantidade de tempo (em segundos) a aguardar antes de fechar automaticamente o pop-up de alerta.
SendToPushNotificationEnabledUser Não Não 0 Se fornecido, o App Builder o alerta pode ser configurado para enviar somente para usuários que não tenham um dispositivo habilitado para notificação por push. Isso permite que um desenvolvedor envie an App Builder notificação de alerta e notificação push no mesmo evento e impede que um usuário receba uma notificação na área de trabalho e uma notificação push.

Notificação Push

O objeto de dados públicos Push Notification permite que a notificação envie uma notificação push para um Usuário. As colunas do objeto de dados públicos Push Notification são as seguintes:

Nome Obrigatório Multi-Target Exemplo Descrição
Para Sim Não 85cc99ff-b4a6-4a32-bfeb-537d346ee52c Para é o Usuário (UserID) para o qual estamos enviando a notificação por push. Se o Usuário não tiver um dispositivo de notificação por push, a regra de notificação ainda será bem-sucedida, mas nenhuma mensagem será enviada. Uma exceção será lançada se este campo não for fornecido ou for nulo.
ToAppUserId Não Não 100 Se o Usuário for denotado por um ID de usuário do aplicativo, esse valor deverá ser fornecido além do campo Para.
De Sim Não who('userid') De representa o usuário de quem esta mensagem é.
Emblema Não Não 1 Se fornecido, isso definirá o número do emblema no ícone do aplicativo.

Configuração de Notificação

Exemplo de Configuração de Notificação

Etapas para configurar uma notificação. Vamos supor que estamos adicionando uma Notificação de Aprovação do Cliente à página de Clientes da Northwinds.

Criar Notificação

Criar uma regra que tenha como alvo um objeto de dados públicos de notificação.

Etapas para Criar Notificação

  • Navegue até App Workbench
  • Clique em Notificações
  • Clique em + Notificação
  • Atribua um Nome. Por exemplo, CustomersRequestApprovalAlert
  • Confirme que o Propósito é Notificação
  • Selecione App Builder alerta como o Alvo. Se você não vir este objeto de dados disponível, crie uma conexão de Fonte de Dados para App Builder(Selado) para o aplicativo em que você está trabalhando.
  • Clique em Salvar

Definir Notificação Mvsql

  • Clique no botão +Tabelas
  • Adicione sua tabela 'select from'. Por exemplo Clientes
  • Adicione as seguintes colunas e clique na aba Colunas para definir:

| Coluna | Alias | Alvo |TABLEROWEND| ...TABLEROWEND | todos | Para | Para | | "C".CustomerId | CustomerId | Vinculação() | | "C".NomeDoCliente | NomeDoCliente | |

Nota

Observe que adicionamos CustomerName para que possamos usá-lo posteriormente como um parâmetro de substituição em nossa mensagem de notificação.

Definir Opções de Notificação

  • Navegue até App Workbench
  • Clique em Notifications
  • Selecione a Regra de Negócios de Notificação. Por exemplo: CustomerRequestApprovalAlert
  • Insira as informações da Mensagem para a Notificação no campo Body
    • Por exemplo: Revise o seguinte cliente:
    • Cliente: {{NomedoCliente}}
  • Clique no ícone de lápis e insira qualquer Ajuda Técnica para ajudar a explicar a Notificação a outros desenvolvedores

Defina opcionalmente uma página de aterrissagem e um evento de pré-lançamento para executar

  • Na página App Workbench > Notificações, selecione a Notificação
  • Clique no botão + Opção
  • Crie uma nova opção.
    • Defina Índice como 10
    • Defina Nome para revisar
    • Selecione o valor Link para a página. Em nosso exemplo, faremos um link para a página 'Cliente' da Northwinds. Se a página para a qual você deseja fazer o link não aparecer, certifique-se de que ela foi marcada como "Compartilhada" nas Configurações do Edge Case.
  • Clique na marca de seleção para salvar o registro

Registrar Notificação com um Evento

Registrar notificação como uma ação com um evento. Neste caso, estamos assumindo que o evento está associado a um botão na página de inicialização. Também assumiremos que o evento é chamado de 'Solicitar aprovação'.

  • Navegue até o evento para o objeto de dados
  • Clique no ícone Lógica de negócios
  • Clique no botão Eventos
  • Selecione o evento. Por exemplo: Solicitar aprovação
  • Clique em Registrar existente no painel Ações
  • Selecione Notificação como o tipo de ação
  • Selecione a notificação que criamos na etapa anterior. Por exemplo: CustomerRequestApprovalAlert
  • Clique em Salvar
  • Verifique se as Vinculações explícitas estão corretas. Por exemplo: CustomerId - CustomerId

Teste!

Neste ponto, a Notificação está completamente configurada. Navegue até sua página e clique no botão que executa o evento de notificação. Todos App Builder os usuários no sistema devem ver um pop-up com a mensagem de notificação.

Configuração de Notificação por SMS

Etapas para configurar uma notificação por SMS. Vamos supor que estamos adicionando uma Notificação de Aprovação do Cliente à página de Clientes da Northwinds.

Você precisará de acesso a uma conta Twilio para concluir a configuração.

Configurar App Builder segurança

  • Navegue até IDE > Provedores de Segurança
  • Clique em + Autenticação do Usuário no painel Autenticação do Usuário.
    • Insira um Nome (por exemplo, "Http Basic Auth")
    • Selecione "Autenticação Básica HTTP" como o Tipo
    • Clique em "Ativado" para habilitar
    • Clique em Salvar
  • Navegue até IDE > Gerenciamento de Usuários
    • Clique duas vezes no registro do Usuário que você deseja autenticar quando uma resposta SMS chegar
    • Observe que este Usuário deve ter acesso ao seguinte:
      • App Builder aplicação
      • O Evento que será executado na própria notificação
  • Clique no ícone Chaves em Autenticação
  • Clique em Criar
  • Selecione o provedor "Http Basic Auth" criado anteriormente
  • Clique em Salvar

Nota

A "Chave" secreta que é criada para este provedor. A combinação do Nome de Usuário e da Chave secreta será usada ao configurar o Twilio.

Configurar Twilio

Criar Serviço de Mensagens
  • Entre na sua conta Twilio
  • Navegue até Communications Cloud > Programmable SMS
  • Clique em Serviços de mensagens
  • Crie um novo serviço de mensagens (notificações, bidirecional) e anexe um número de telefone Twilio a ele
  • Anote o MessagingServiceSid. Ele será usado para configuração mais tarde
  • Habilite a opção "Processar mensagem de entrada"
  • Insira o seguinte URL de solicitação:
    • https://:@/webhook/v1/vinyl/bridge_inbound
    • Por exemplo, https://admin:P124asfgOmkA@vinyl.zudy.com/webhook/v1/vinyl/bridge_inbound
Reúna as Credenciais do Twilio
  • Navegue até Console Dashboard > Settings
  • Anote as credenciais LIVE:
    • Account Sid
    • Auth Token
Configurar Endpoint SMS
  • Navegue até IDE > Servidores de Notificação
  • Clique duas vezes no registro 'SMS'
  • Adicione a seguinte configuração:
    • Nome de usuário -> Twilio Account Sid
    • Senha -> Twilio Auth Token
    • MessagingServiceSid -> Twilio Messaging Service Sid
Configurar URL do Site
  • Navegue até IDE > Provedores de segurança
  • Em Configuração, clique em Mais > Sites
  • Clique em + Site
  • Defina o valor da URL para a URL do seu site. Por exemplo: https://vinyl.zudy.com
  • Clique em Salvar

Configurar Notificação por SMS

Criar Notificação

Criar uma regra que tenha como alvo um objeto de dados públicos de notificação.

Etapas para Criar Notificação
  • Navegue até App Workbench > Notificações
  • Clique em + Notificação
  • Atribua um Nome
  • Selecione Notificação como Finalidade
  • Selecione Mensagem de texto como Destino. Se você não vir esse objeto de dados disponível, crie uma conexão de Fonte de Dados para App Builder(Selado) para o aplicativo em que você está trabalhando.
  • Clique em Salvar
Definir Notificação Mvsql
  • Clique no botão +Tabela e adicione a Tabela que a Regra requer

    • Por exemplo, clientes
  • Clique na aba Colunas e adicione as seguintes colunas:

Coluna Alias Alvo
'+15551112222' (substitua pelo seu número de telefone) Para() Para()
"C".CustomerId CustomerId Vinculação()
"C".NomeDoCliente NomeDoCliente

Nota

Adicionamos "CustomerName" para que possamos usá-lo posteriormente como um parâmetro de substituição em nossa mensagem de Notificação.

Definir Opções de Notificação

Além de definir as informações da Mensagem, definiremos duas opções para este exemplo de Notificação. Uma que é ativada ao responder ao SMS, outra que é um link para uma página.

  • Clique na aba de navegação Notificação
  • Digite a seguinte mensagem no Corpo da Mensagem:
Reply `você{{1}} to approve {{NomedoCliente}}. Review {{Revisão}}
  • Clique no botão +Opção no painel Opções
    • Defina Índice como 10
    • Defina Nome como Revisão
    • Selecione a página para vincular. Em nosso exemplo, vincularemos à página 'Cliente' da Northwinds. Se a página para a qual você deseja vincular não aparecer, certifique-se de que ela foi marcada como "Compartilhada" nas Configurações do Edge Case.
    • Defina a opção Tipo como 'Link'
  • Clique no botão +Opção no painel Opções
    • Defina Índice como 20
    • Defina Nome como 1
    • Selecione a página para vincular. Em nosso exemplo, criaremos um link para a página 'Cliente' da Northwinds e executaremos o evento 'Aprovar'.
    • Defina a opção Tipo como 'Resposta por SMS'

Registrar Notificação com um Evento

Registrar Notificação como uma Ação com um Evento. Neste caso, estamos assumindo que o Evento está associado a um botão na página de inicialização. Também assumiremos que o evento é chamado de 'Solicitar Aprovação'.

  • Navegue até o Evento para o objeto de dados
  • Clique no ícone Lógica de Negócios
  • Clique no botão Eventos
  • Selecione o Evento. Por exemplo: Solicitar Aprovação
  • Clique em Registrar Existente no painel Ações
  • Selecione Notificação como o Tipo de Ação
  • Selecione a Notificação que criamos na etapa anterior. Por exemplo: Customer_RequestApprovalSms
  • Clique em Salvar
  • Verifique se as Vinculações Explícitas estão corretas. Por exemplo: Por exemplo. CustomerId- CustomerId

Configurar Notificação Push

As notificações push são configuradas de forma semelhante a outras notificações em App Builder. O App Builder o administrador do servidor deve configurar o endpoint de notificação por push corretamente para que ele funcione conforme o esperado.

Se você estiver configurando Push Notifications com Blabber API, você deve baixar o aplicativo complementar iOS, entrar no servidor correspondente com credenciais adequadas e habilitar notificações push no próprio aplicativo. Além disso, uma chave API é necessária para concluir a configuração.

Teste!

Neste ponto, a Notificação está completamente configurada. Navegue até sua página e clique no botão que executa o evento de notificação.