# Parâmetros de /createMessage

<Aside type="caution" title="Obsoleto">
`/createMessage` está obsoleto. Novas integrações devem usar a [API de Mensagens v2](/pt/developer/api-reference/messaging-api-v2/) — consulte o [guia de migração](/pt/developer/api-reference/messaging-api-v2/migration-from-v1/) para um mapeamento campo a campo dos parâmetros abaixo.
</Aside>

Aqui você encontrará as descrições dos parâmetros da API [`/createMessage`](/pt/developer/api-reference/messages-api/#createmessage).

- [Parâmetros obrigatórios](#required-parameters) devem ser incluídos para enviar com sucesso uma solicitação à API `/createMessage` e transmitir uma notificação push no horário especificado.

- [Parâmetros opcionais](#optional-parameters) permitem que você personalize as propriedades da notificação push.

<Aside type="note">
Se você estiver usando _/createMessage_ para enviar SMS, consulte [Parâmetros para envio de SMS](/pt/developer/api-reference/sms/#createsmsmessage). Outros parâmetros não serão passados.
</Aside>

## Parâmetros obrigatórios

Os parâmetros obrigatórios são de uso obrigatório nas solicitações [`/createMessage`](/pt/developer/api-reference/messages-api/#createmessage). Caso contrário, a solicitação não será enviada.

### application

Código único de um aplicativo criado na sua conta Pushwoosh. O código do aplicativo pode ser encontrado no canto superior esquerdo do Painel de Controle ou em resposta a uma solicitação [`/createApplication`](/pt/developer/api-reference/applications/#createapplication). O código do aplicativo é um conjunto de 10 caracteres (letras e dígitos) separados por hífen.

<img src="/messages-api-prerequisites-1.webp" alt="Código do aplicativo Pushwoosh exibido no Painel de Controle no canto superior esquerdo"/>

Ao criar um aplicativo via API, você receberá um código de aplicativo em resposta à sua solicitação [`/createApplication`](/pt/developer/api-reference/applications/#createapplication).

Para obter um código de um aplicativo criado anteriormente via API, chame [`/getApplications`](/pt/developer/api-reference/applications/#getapplications). Em resposta à solicitação [`/getApplications`](/pt/developer/api-reference/applications/#getapplications), você receberá a lista de todos os aplicativos criados em sua conta Pushwoosh com seus nomes e códigos.

### auth

Token de acesso à API do Painel de Controle da Pushwoosh. Vá para **Configurações** → **Acesso à API** e copie um token que você gostaria de usar ou gere um novo.

<img src="/messages-api-prerequisites-2.webp" alt="Página de configurações de Acesso à API no Painel de Controle da Pushwoosh mostrando tokens de acesso à API"/>

Ao gerar um token de acesso, especifique suas permissões. Marque as caixas de seleção para os tipos de atividades com as quais você usará o token da API. Você pode criar tokens de API específicos para aplicativos marcando as caixas de seleção de Aplicativos.

<img src="/messages-api-prerequisites-3.webp" alt="Caixa de diálogo de geração de token de API com permissões e caixas de seleção de aplicativos"/>

### content

A string ou objeto que define o conteúdo da mensagem. O parâmetro "content" enviado com um valor do tipo string enviará a mesma mensagem para todos os destinatários.

```txt title="String"
"content": "Olá, mundo!",
```

Objetos JSON são usados para especificar o conteúdo usando [Conteúdo Dinâmico](/pt/developer/guides/personalization/dynamic-content/), por exemplo, para mensagens em vários idiomas.

```txt title="Objeto"
"content": {
  "en": "Hello!",
  "es": "¡Hola!",
  "de": "Hallo!"
},
```

### notifications

O array JSON de propriedades de push. Deve incluir pelo menos os parâmetros obrigatórios `content` e `send_date`.

Parâmetros opcionais para usar dentro do array "notifications":

* [campaign](#campaign)
* [capping_days](#capping_days)
* [capping_count](#capping_count)
* [conditions](#conditions)
* [data](#data)
* [devices](#devices)
* [dynamic_content](#dynamic_content)
* [filter](#filter)
* [ignore_user_timezone](#ignore_user_timezone)
* [inbox_date](#inbox_date)
* [inbox_image](#inbox_image)
* [link](#link)
* [minimize_link](#minimize_link)
* [message_type](#message_type)
* [platforms](#platforms)
* [preset](#preset)
* [rich_media](#rich_media)
* [send_rate](#send_rate)
* [timezone](#timezone)
* [template_bindings](#template_bindings)
* [transactionId](#transactionid)
* [users](#users)

### send_date

Data e hora em que a mensagem é enviada. Pode ser qualquer data e hora formatada como AAAA-MM-DD HH:mm ou 'now'. Se definido como 'now', a mensagem será enviada imediatamente após o envio da solicitação.

## Parâmetros opcionais

### campaign

O código de uma Campanha. Para obter um código de Campanha, vá para **Estatísticas** → **Estatísticas agregadas** e selecione a Campanha que você vai usar. O código da campanha estará visível no final da URL da página no formato `XXXXX-XXXXX`.

**Exemplo:**

**URL:** `https://app.pushwoosh.com/applications/AAAAA-AAAAA/statistics/aggregated-message?campaignCode=XXXXX-XXXXX`

**Código da campanha:** `XXXXX-XXXXX`

Para obter uma lista de Campanhas com seus códigos, chame [`/getCampaigns`](/pt/developer/api-reference/campaigns/#getcampaigns). Em resposta à solicitação `/getCampaigns`, você receberá a lista de todas as Campanhas criadas para um aplicativo específico em sua conta Pushwoosh, com seus códigos, nomes e descrições.

### capping_days

Período a ser aplicado para o limite de frequência, em dias (máximo de 30 dias). Consulte [Limite de frequência](/pt/product/messaging-channels/global-frequency-capping/) para obter detalhes.

O limite de frequência não é aplicado a mensagens com `message_type: transactional`. Em todos os outros casos, o limite de frequência é aplicado, incluindo solicitações onde `message_type` é omitido.

### capping_count

O número máximo de pushes que podem ser enviados de um aplicativo específico para um dispositivo específico dentro de um período de "capping_days". Caso a mensagem criada exceda o limite "capping_count" para um dispositivo, ela não será enviada para esse dispositivo. Consulte [Limite de frequência](/pt/product/messaging-channels/global-frequency-capping/) para obter detalhes.

### conditions

As condições são arrays como `[tagName, operator, operand]` usadas para enviar mensagens direcionadas com base em [Tags](/pt/developer/guides/audience-and-segmentation/tags/) e seus valores, onde:

* tagName — o nome de uma tag a ser aplicada,
* [operator](/pt/developer/guides/audience-and-segmentation/tags#tag-operators) — um operador de comparação de valor ("EQ" | "IN" | "NOTEQ" | "NOTIN" | "LTE" | "GTE" | "BETWEEN" | "NOTSET" | "ANY"),
* [operand](/pt/developer/guides/audience-and-segmentation/tags#tag-values) — Valores de Tag de qualquer um dos seguintes tipos: string | integer | array | date | boolean | list

#### Descrição do operador

| | |
| -------- | ----------- |
| **EQ** | o valor da tag é igual ao operando. |
| **IN** | o valor da tag cruza com o operando (o operando deve ser sempre um array). |
| **NOTEQ** | o valor da tag não é igual a um operando. |
| **NOTIN** | o valor da tag não cruza com o operando (o operando deve ser sempre um array). |
| **GTE** | o valor da tag é maior ou igual ao operando. |
| **LTE** | o valor da tag é menor ou igual ao operando. |
| **BETWEEN** | o valor da tag é maior ou igual ao valor mínimo do operando, mas menor ou igual ao valor máximo do operando (o operando deve ser sempre um array). |
| **NOTSET** | a tag não está definida. O operando não é considerado. |
| **ANY** | a tag tem qualquer valor. O operando não é considerado. |

#### Tags de string

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, NOTSET, ANY

**Operandos válidos:**
| | |
| -------- | ------- |
| **EQ, NOTEQ** | o operando deve ser uma string |
| **IN, NOTIN** | o operando deve ser um array de strings como `["valor 1", "valor 2", "valor N"]` |
| **NOTSET** | a tag não está definida. O operando não é considerado |
| **ANY** | a tag tem qualquer valor. O operando não é considerado |

#### Tags de número inteiro

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Operandos válidos:**

| | |
| -------- | ------- |
| **EQ, NOTEQ, GTE, LTE** | o operando deve ser um número inteiro |
| **IN, NOTIN** | o operando deve ser um array de inteiros como `[valor 1, valor 2, valor N]` |
| **BETWEEN** | o operando deve ser um array de inteiros como `[valor_min, valor_max]` |
| **NOTSET** | a tag não está definida. O operando não é considerado |
| **ANY** | a tag tem qualquer valor. O operando não é considerado |

#### Tags de data

**Operadores válidos**: EQ, IN, NOTEQ, NOTIN, BETWEEN, GTE, LTE, NOTSET, ANY

**Operandos válidos:**

* `"AAAA-MM-DD 00:00"` (string)
* timestamp unix `1234567890` (inteiro)
* `"N days ago"` (string) para os operadores EQ, BETWEEN, GTE, LTE

#### Tags booleanas

**Operadores válidos**: EQ, NOTSET, ANY

**Operandos válidos:** `0, 1, true, false`

#### Tags de lista

**Operadores válidos**: IN, NOTIN, NOTSET, ANY

**Operandos válidos:** o operando deve ser um array de strings como `["valor 1", "valor 2", "valor N"]`.

<Aside type="danger" title="Importante">
Lembre-se de que os parâmetros “filter” e “conditions” não devem ser usados juntos.\
Além disso, ambos **serão ignorados** se o parâmetro "devices" for usado na mesma solicitação.
</Aside>

<Aside type="note" title="Tags de País e Idioma">
O valor da tag de idioma é um código de duas letras minúsculas de acordo com a [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
O valor da tag de país é um código de duas letras MAIÚSCULAS de acordo com a [ISO_3166-2](https://en.wikipedia.org/wiki/ISO_3166-2).

Por exemplo, para enviar uma notificação push para assinantes de língua portuguesa no Brasil, você precisará especificar a seguinte condição: `"conditions": [["Country", "EQ", "BR"],["Language", "EQ", "pt"]]`
</Aside>

### conditions_operator

Operador lógico para arrays de condições. Valores possíveis: AND | OR. AND é o padrão.

Se o operador aplicado for AND (quando nenhum operador é especificado, ou o parâmetro 'conditions_operator' tem o valor 'AND'), os dispositivos que cumprirem simultaneamente todas as condições receberão a notificação push.

Se o operador for OR, os dispositivos que cumprirem qualquer uma das condições especificadas receberão a mensagem.

### data

String JSON ou objeto JSON usado para passar quaisquer [dados personalizados](/pt/developer/guides/messaging-channels/using-custom-data) no payload do push; é passado como parâmetro "u" no payload (convertido para string JSON).

### devices

O array de [tokens de push](/pt/developer/pushwoosh-knowledge-hub/device-identifiers/#push-token) ou [hwids](/pt/developer/pushwoosh-knowledge-hub/device-identifiers/#hwid) para enviar notificações push direcionadas. Se definido, a mensagem será enviada apenas para os dispositivos da lista.

### dynamic_content

Espaços reservados para [Conteúdo Dinâmico](/pt/product/personalization/dynamic-content) a serem usados em vez dos valores de Tag do dispositivo. O exemplo abaixo enviará a mensagem "Olá, John!" para cada usuário que você segmentar. Se não for definido, os valores do Conteúdo Dinâmico são retirados das Tags do dispositivo.

```
"content": "Olá, {firstname|CapitalizeFirst}!",
"dynamic_content_placeholders": {
  "firstname": "John",
  "lastname": "Doe"
},
```

### filter

O nome de um [Segmento](/pt/product/audience-data-and-segmentation/segmentation/) exatamente como foi criado no Painel de Controle da Pushwoosh ou através de uma solicitação à API [`/createFilter`](/pt/developer/api-reference/segmentation-filters-api/#createfilter). Vá para a seção **Público** → **Segmentos** e verifique a lista de Segmentos criados.

<img src="/messages-api-prerequisites-7.webp" alt="Lista de segmentos na seção Público do Painel de Controle da Pushwoosh"/>

Para obter a lista de Segmentos via API, chame o método da API [`/listFilters`](/pt/developer/api-reference/segmentation-filters-api/#listfilters). Em resposta à solicitação `/listFilters`, você receberá a lista de todos os Segmentos criados em sua conta Pushwoosh, com os nomes, condições e datas de expiração dos Segmentos.

### ignore_user_timezone

Se definido como 'true', envia a mensagem na hora e data especificadas no parâmetro "send_date" de acordo com UTC-0.

Se definido como 'false', os usuários receberão a mensagem no horário local especificado de acordo com as configurações de seus dispositivos.

### inbox_date

A data até a qual a mensagem deve ser mantida na [Caixa de Entrada](/pt/developer/guides/message-inbox/mobile-message-inbox) dos usuários. Se não for especificado, a mensagem será removida da Caixa de Entrada no dia seguinte à data de envio.

<Aside type="note">
Para salvar a mensagem na Caixa de Entrada, use pelo menos um dos parâmetros 'inbox': "inbox_date" ou "inbox_image".
</Aside>

<Aside type="caution">
A mensagem será removida da Caixa de Entrada às 00:00:01 da data especificada, portanto, a data anterior é o último dia em que um usuário pode ver a mensagem em sua Caixa de Entrada.
</Aside>

### inbox_image

A URL da imagem personalizada a ser exibida perto da mensagem na [Caixa de Entrada](/pt/developer/guides/message-inbox/mobile-message-inbox).

<Aside type="note">
Para salvar a mensagem na Caixa de Entrada, use pelo menos um dos parâmetros 'inbox': "inbox_date" ou "inbox_image".
</Aside>

### inbox_days

O tempo de vida de uma mensagem da caixa de entrada em dias, até 30 dias. Após este período, a mensagem será removida da caixa de entrada. Pode ser usado em vez do parâmetro **inbox_date**.

### link

A URL a ser aberta quando um usuário abrir uma notificação push.

### message_type

Especifica o tipo de mensagem push. Os valores disponíveis são `marketing` e `transactional`. Consulte [Mensagens de marketing vs transacionais](/pt/product/messaging-channels/marketing-vs-transactional/) para obter detalhes.

Este parâmetro é opcional. Se omitido, os usuários com `PW_ControlGroup: true` não receberão a mensagem.

### minimize_link

Encurtador para minimizar a URL enviada no parâmetro "link". Observe que o tamanho do payload da notificação push é limitado, portanto, considere criar URLs curtas para não exceder o limite. Valores disponíveis: 0 — não minimizar, 2 — bitly. Padrão = 2. O encurtador de URL do Google está desativado desde 30 de março de 2019.

### platforms

O array de códigos de plataforma para enviar a mensagem apenas para plataformas específicas.

Os códigos de plataforma disponíveis incluem: `1` — iOS, `3` — Android, `7` — Mac OS X, `8` — Windows, `9` — Amazon, `10` — Safari, `11` — Chrome, `12` — Firefox, `14` — Email, `17` — Huawei, `18` — SMS e `21` — WhatsApp.

### preset

O código de uma [Predefinição](/pt/product/content/push-presets/) criada no Painel de Controle da Pushwoosh ou via API. Para obter um código de predefinição, vá para **Conteúdo** → **Predefinições**, expanda a predefinição que você vai usar e copie o **Código da Predefinição** dos detalhes da predefinição.

<img src="/messages-api-prerequisites-8.webp" alt="Lista de predefinições na seção Conteúdo mostrando o Código da Predefinição"/>

### rich_media

O código de uma página de [Mídia Rica](/pt/product/content/in-apps/) que você vai anexar à sua mensagem. Para obter um código, vá para **Conteúdo** → **Mídia Rica**, abra uma página de Mídia Rica que você vai usar e copie o código da barra de URL do seu navegador. O código é um conjunto de 10 caracteres (letras e dígitos) separados por hífen.

<img src="/messages-api-prerequisites-9.webp" alt="Página de Mídia Rica na seção Conteúdo com o código de Mídia Rica na barra de URL do navegador"/>

### send_rate

Limitação para restringir a velocidade de envio de push. Os valores válidos são de 100 a 1000 pushes/segundo.

### timezone

Fuso horário a ser levado em conta quando a mensagem é enviada em uma data e hora específicas. Se definido, o fuso horário do dispositivo é ignorado. Se ignorado, a mensagem é enviada em UTC. Consulte [https://php.net/manual/timezones.php](https://php.net/manual/timezones.php) para fusos horários suportados.

### template_bindings

Espaços reservados de modelo para usar em seu modelo de conteúdo. Consulte o guia de [Modelos Liquid](/pt/developer/guides/personalization/liquid-templates/) para obter detalhes.

### transactionId

Identificador de mensagem exclusivo para evitar a duplicação de mensagens em caso de problemas de rede. Você pode atribuir qualquer ID a uma mensagem criada através da solicitação [`/createMessage`](/pt/developer/api-reference/messages-api/#createmessage) ou [`/createTargetedMessage`](/pt/developer/api-reference/messages-api/#createtargetedmessage). Armazenado no lado da Pushwoosh por 5 minutos.

### users

O array de [userIds](/pt/developer/pushwoosh-knowledge-hub/users-userids/). O ID de usuário é um identificador de usuário exclusivo definido por uma solicitação à API [`/registerUser`](/pt/developer/api-reference/user-centric-api/), [`/registerDevice`](/pt/developer/api-reference/device-api/#registerdevice) ou [`/registerEmail`](/pt/developer/api-reference/email-api/).