# Ações do cliente do plugin Pushwoosh Outsystems

O Plugin fornece um conjunto de ações do cliente para facilitar o gerenciamento de notificações push. Essas ações permitem que você registre e cancele o registro de dispositivos, defina e obtenha tags, gerencie mensagens da caixa de entrada e muito mais.

## Ações do cliente do plugin Pushwoosh

### CheckPushwooshPlugin

Valida se o plugin Pushwoosh está atualmente disponível.

#### Parâmetros de saída

| IsAvailable | Retorna verdadeiro se o plugin estiver disponível para uso, caso contrário, falso                                                                                  |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error       | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

#### Exemplo de uso

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-1.webp" alt="Ação CheckPushwooshPlugin"/>

### RegisterDevice

Registra um dispositivo para notificações push e obtém um Push Token.

#### Parâmetros de entrada

| ApplicationCode | Texto, o código do aplicativo Pushwoosh obtido nas configurações da sua conta. |
| --------------- | ------------------------------------------------------------------------- |



#### Parâmetros de saída

| RegisterToken | Token recebido do Google ou da Apple para o dispositivo                                                                                                          |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success       | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| Error         | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### UnregisterDevice

Cancela o registro de um dispositivo para o recebimento de notificações push.

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### GetDeviceID

Recupera o ID do dispositivo, que deve ser um identificador único.

#### Parâmetros de saída

| DeviceHwid | O identificador único do dispositivo.                                                                                                         |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
| Error      | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando houve um erro. |

### GetDeviceType

Obtém o Tipo de Dispositivo (Android, iOS ou Windows).

#### Parâmetros de saída

| DeviceTypeId | O identificador deste tipo de dispositivo. |
| ------------ | ----------------------------------- |

### GetTags

Busca dados de tags do Pushwoosh.

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |
| Tags    | Retorna uma Lista de Registros de Chave e Valor contendo todas as tags atribuídas a este dispositivo.                                                                                      |

#### Exemplo de uso

1. Invoque a ação **GetTags** para buscar os dados de tags do Pushwoosh.
2. As tags retornadas são acessíveis através da lista **GetTags.Tags**.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-2.webp" alt=""/>

3. Use a ação **LogMessage** para registrar a chave e o valor de cada tag.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-3.webp" alt=""/>

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-4.webp" alt=""/>

### PostEvent

Envia uma mensagem para o Pushwoosh quando um evento específico ocorre em seu aplicativo.

#### Parâmetros de entrada

| EventName       | Texto, nome do evento                                                                                                                                                    |
| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| EventAttributes | Lista de Registros de Chave e Valor, usada para enviar dados de eventos adicionais para o Pushwoosh (ou seja, para a ação "UserLogin", você pode querer enviar dados de login, como - `{"username":"John"}`) |

Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

#### Exemplo de uso

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-5.webp" alt=""/>

**1. Atribuir**

Configure pares de chave-valor para definir os dados para o evento. Por exemplo, KeyValue1.AttributeName como "test1" e KeyValue1.Value como "test1value". Da mesma forma, defina KeyValue2 com o nome e o valor do atributo apropriados.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-6.webp" alt=""/>

2\. Crie listas de atributos a serem associados ao evento.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-7.webp" alt=""/>

3. Finalmente, configure a ação **PostEvent**.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-8.webp" alt=""/>

### SetBadgeNumber

Define o número do emblema do ícone do aplicativo.

#### Parâmetros de entrada

| BadgeNumber | Inteiro, número do emblema do ícone. |
| ----------- | --------------------------- |

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### SetLanguage

Define um idioma personalizado para o aplicativo em vez do idioma padrão do sistema.

#### Parâmetros de entrada

| Language | Texto, idioma personalizado do aplicativo no formato ISO de 2 letras (por exemplo, "en", "es", "fr") |
| -------- | --------------------------------------------------------------------------------- |

### SetTags

Envia tags e seus valores para o Pushwoosh.

#### Parâmetros de entrada

| Tags | Lista de Registros de TagName e TagValue contendo todas as tags que você deseja enviar. O tipo de TagName deve ser sempre Texto, enquanto TagValue pode ser Texto, Inteiro, Booleano, Data, etc. |
| ---- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

#### Exemplo de uso

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-9.webp" alt=""/>

1. Atribua valores às tags. No exemplo abaixo, existem duas tags:

* Tag1 com o nome testTag e seu valor definido para a data atual.
* Tag2 com o nome testTag2 e seu valor definido como Verdadeiro.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-10.webp" alt=""/>

2\. Em seguida, anexe as tags a uma lista. Neste exemplo:

* ListAppend3 adiciona Tag1 à lista LocalTag.
* ListAppend4 adiciona Tag2 à lista LocalTag.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-11.webp" alt=""/>

3\. Após preencher a lista com as tags necessárias, use a ação do cliente **SetTags** para enviar esta lista para o Pushwoosh.

<img src="/outsystems-pushwoosh-outsystems-plugin-client-actions-12.webp" alt=""/>

### SetUserId

Atribui um User ID personalizado a este dispositivo.

#### Parâmetros de entrada

| UserID | Texto, User ID personalizado. |
| ------ | --------------------- |

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

## Ações do Cliente da Caixa de Entrada Pushwoosh

O processo de trabalho com a Caixa de Entrada é o seguinte:

1. Carregue uma lista de objetos InboxMessage.
2. Use esses objetos para renderizar a visualização da caixa de entrada.
3. Execute as ações listadas abaixo ou exclua esses objetos usando as ações descritas abaixo.

| code              | Texto                  | ID único de uma notificação da caixa de entrada.                                                                                                                                                                                                                                                                                          |
| ----------------- | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| title             | Texto                  | Título da notificação.                                                                                                                                                                                                                                                                                                               |
| message           | Texto                  | Mensagem da notificação.                                                                                                                                                                                                                                                                                                             |
| imageUrl          | Texto                  | URL de uma imagem personalizada anexada a uma notificação.                                                                                                                                                                                                                                                                                 |
| sendDate          | <p>Data</p><p>Hora</p> | Representa a hora em que uma notificação foi enviada.                                                                                                                                                                                                                                                                                 |
| type              | Inteiro                | <p>Tipo de notificação.</p><p>Valores possíveis:</p><ul><li>0 - notificação regular</li><li>1 - notificação de rich media</li><li>2 - notificação de URL</li><li>3 - notificação de deep link</li></ul>                                                                                                                                |
| bannerUrl         | Texto                  | Contém a URL de um banner do Android.                                                                                                                                                                                                                                                                                                |
| customData        | Lista de Registros de Chave e Valor | Contém uma lista de parâmetros passados como dados personalizados.                                                                                                                                                                                                                                                                              |
| isRead            | Booleano               | Verdadeiro se a notificação da caixa de entrada for lida.                                                                                                                                                                                                                                                                                               |
| isActionPerformed | Booleano               | <ul><li><strong>Verdadeiro</strong> se a ação da notificação for executada. </li><li>Para notificações regulares, <strong>verdadeiro</strong> se uma notificação for lida. </li><li>Para Rich Media, <strong>verdadeiro</strong> se a rich media foi apresentada. </li><li>Para URL e deep links, <strong>verdadeiro</strong> se a URL/deep link foi aberto.</li></ul> |

### LoadMessages

Busca notificações da caixa de entrada do Pushwoosh.

#### Parâmetros de saída

| InboxMessages | Lista de InboxMessage, lista de todas as mensagens da caixa de entrada.                                                                                                                   |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success       | Retorna **verdadeiro** se tudo ocorrer como esperado, **falso** se houver um erro.                                                                                 |
| Error         | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### ReadMessage

Marca a mensagem da caixa de entrada como lida.

#### Parâmetros de entrada

| MessageCode | Texto, código de um InboxMessage (recebido como um parâmetro de um InboxMessage em LoadMessages) |
| ----------- | ------------------------------------------------------------------------------------------ |

#### Parâmetros de saída

| Success | Verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                                 |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### PerformAction

Executa uma ação para mensagens da caixa de entrada especificadas (por exemplo, abrir URL em um navegador).

#### Parâmetros de entrada

| MessageCode | Texto, código de um InboxMessage (recebido como um parâmetro de um InboxMessage em LoadMessages) |
| ----------- | ------------------------------------------------------------------------------------------ |

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### DeleteMessage

Remove uma mensagem da caixa de entrada.

#### Parâmetros de entrada

| MessageCode | Texto, código de um InboxMessage (recebido como um parâmetro de um InboxMessage em LoadMessages) |
| ----------- | ------------------------------------------------------------------------------------------ |

#### Parâmetros de saída

| Success | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Error   | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### TotalMessagesCount

Retorna o número total de mensagens da caixa de entrada.

#### Parâmetros de saída

| MessagesCount | Inteiro, número total de mensagens da caixa de entrada.                                                                                                                         |
| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success       | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| Error         | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### UnreadMessagesCount

Retorna o número de mensagens não lidas na caixa de entrada.

#### Parâmetros de saída

| UnreadMessagesCount | Inteiro, número de mensagens não lidas na caixa de entrada.                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success             | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| Error               | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |

### MessagesWithNoActionPerformedCount

Retorna o número de mensagens da caixa de entrada sem nenhuma ação executada.

#### Parâmetros de saída

| MessagesWithNoActionPerformedCount | Inteiro, número de mensagens da caixa de entrada sem nenhuma ação executada.                                                                                                      |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Success                            | Retorna verdadeiro se tudo ocorrer como esperado, falso se houver um erro.                                                                                         |
| Error                              | Um erro contendo o código e a mensagem de erro com detalhes sobre qualquer erro que possa ter ocorrido. Definido apenas quando o parâmetro de saída Success for falso. |