# API de Live Activities do iOS

> Documentação da Apple:
> 
> * [Sobre Live Activities](https://developer.apple.com/design/human-interface-guidelines/live-activities)
> * [Atualizando e encerrando Live Activities com notificações push do ActivityKit](https://developer.apple.com/documentation/activitykit/updating-and-ending-your-live-activity-with-activitykit-push-notifications)



## startLiveActivity



`POST` `https://api.pushwoosh.com/json/1.3/startLiveActivity`

Permite criar Live Activities do iOS.

### Corpo da solicitação

| Parâmetro     | Tipo   | Obrigatório/Opcional | Descrição                                                                 |
|---------------|--------|-------------------|-----------------------------------------------------------------------------|
| application   | String | Obrigatório           | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code)                                             |
| auth          | String | Obrigatório           | [Token de acesso da API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh.                          |
| notifications | Array  | Obrigatório           | Array JSON de parâmetros de mensagem. Veja detalhes na tabela de Notificações abaixo. |

#### Notifications
Parâmetros usados no array `notifications`:

| Parâmetro        | Tipo             | Obrigatório/Opcional | Descrição                                                                 |
|------------------|------------------|-------------------|-----------------------------------------------------------------------------|
| content       | String | Obrigatório          | Conteúdo de fallback para dispositivos com versões do iOS abaixo de 16.1 que não suportam Live Activity. No iOS 16.1+ (com suporte a Live Activity), o conteúdo é obtido do campo `live_activity`. |
| title         | String | Opcional          | O título da mensagem de notificação.                                                                                                            |
| live_activity    | Object           | Obrigatório           | Dados da Live Activity para criar uma Live Activity no iOS.                          |
| live_activity.content-state    | Object           | Obrigatório           | Conteúdo para a notificação da Live Activity.                                 |
| live_activity.attributes-type  | String           | Obrigatório           | O tipo de atributos usados na Live Activity.                           |
| live_activity.attributes       | Object           | Obrigatório           | Atributos para a Live Activity.                                           |
| live_activity_id | String           | Obrigatório           | Um identificador único para a Live Activity. Usado para direcionar esta atividade ao chamar `updateLiveActivity`. Deve ser único por sessão de atividade. |
| filter | String | Opcional | O nome de um filtro (segmento) da Pushwoosh. Veja [Nome do Segmento / Filtro](/pt/developer/api-reference/api-identifiers/#segment--filter-name). A Live Activity será iniciada em todos os dispositivos que correspondem a este filtro. |
| devices | Array de Strings | Opcional | Uma lista de [tokens de dispositivo](/pt/developer/api-reference/api-identifiers/#push-token). A Live Activity será iniciada apenas nos dispositivos especificados. |



### Exemplo de solicitação

<Tabs>
<TabItem label="Com filtro">
```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "content": "Your order is being prepared",
        "title": "Food Delivery",
        "live_activity": {
          "event": "start",
          "title": "Order status",
          "content-state": {
            "status": "Third",
            "estimatedTime": "37 min",
            "emoji": "👨‍🍳"
          },
          "attributes-type": "FoodDeliveryAttributes",
          "attributes": {}
        },
        "live_activity_id": "FIRST_LIVE_ACTIVITY",
        "filter": "FILTER_NAME_1"
      }
    ]
  }
}
```
</TabItem>
<TabItem label="Com dispositivos">
```json
{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "content": "Your order is being prepared",
        "title": "Food Delivery",
        "live_activity": {
          "event": "start",
          "title": "Order status",
          "content-state": {
            "status": "Third",
            "estimatedTime": "37 min",
            "emoji": "👨‍🍳"
          },
          "attributes-type": "FoodDeliveryAttributes",
          "attributes": {}
        },
        "live_activity_id": "SECOND_LIVE_ACTIVITY",
        "devices": ["first_third", "second_device"]
      }
    ]
  }
}
```
</TabItem>
</Tabs>

### Exemplo de resposta

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "XXXXX-XXXXXXXX-XXXXXXXX"
    ]
  }
}
```
> **Nota:**
> 
> Leia [este artigo](/pt/developer/pushwoosh-sdk/ios-sdk/ios-live-activities) para saber mais sobre como trabalhar com Live Activities usando o SDK do iOS da Pushwoosh.


## updateLiveActivity


`POST` `https://api.pushwoosh.com/json/1.3/updateLiveActivity`

Permite atualizar e encerrar Live Activities do iOS 

### Corpo da solicitação

| Parâmetro      | Tipo   | Obrigatório/Opcional | Descrição                                                            |
|----------------|--------|-------------------|------------------------------------------------------------------------|
| auth           | String | Obrigatório           | [Token de acesso da API](/pt/developer/api-reference/api-identifiers/#api-access-token) do Painel de Controle da Pushwoosh.                      |
| application    | String | Obrigatório           | [Código da aplicação Pushwoosh](/pt/developer/api-reference/api-identifiers/#application-code)                                       |
| notifications  | Array  | Obrigatório           | Array JSON de parâmetros de mensagem. Veja detalhes na tabela de Notificações abaixo. |

#### Notifications

Parâmetros usados no array `notifications`:

| Parâmetro        | Tipo    | Obrigatório/Opcional | Descrição                                                                 |
|------------------|---------|-------------------|-----------------------------------------------------------------------------|
| live_activity    | Object  | Obrigatório           | Dados da Live Activity para atualizar uma Live Activity no iOS.                          |
| live_activity.event            | String  | Obrigatório           | Especifica o tipo de evento. Use `"update"` para atualizar a Live Activity ou `"end"` para fechá-la. |
| live_activity.content-state    | Object  | Obrigatório           | Objeto com pares de chave-valor usado para passar dados para a Live Activity para atualizar seu conteúdo. |
| live_activity.dismissal-date   | Integer | Opcional           | O tempo (em segundos) em que a Live Activity deve terminar.                    |
| live_activity_id | String  | Obrigatório           | O identificador único da Live Activity a ser atualizada. Deve corresponder ao `live_activity_id` usado em **startLiveActivity**. A atualização será entregue a todos os dispositivos nos quais esta atividade foi iniciada.                |
| live_activity.relevance-score  | Integer | Opcional           | Informa ao sistema iOS qual Live Activity tem prioridade maior que as outras. Aceita valores de 1 ao infinito (valores até 100 são recomendados). |
| live_activity.stale-date | Integer | Opcional | O tempo (em segundos) que representa a data em que uma Live Activity se torna obsoleta ou desatualizada.|


### Exemplo de solicitação

```json

{
  "request": {
    "application": "XXXXX-XXXXX",
    "auth": "SECRET_API_TOKEN",
    "notifications": [
      {
        "live_activity": {
          "event": "update",
          "title": "Live Activity Update",
          "content-state": {
            "status": "second 66",
            "estimatedTime": "66 min",
            "emoji": "👨‍"
          },
          "relevance-score": 60
        },
        "live_activity_id": "FIRST_LIVE_ACTIVITY"
      }
    ]
  }
}
```

### Exemplo de resposta

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "XXXXX-XXXXXXXX-XXXXXXXX"
    ]
  }
}
```

> [Leia este artigo](/pt/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/) para saber mais sobre como trabalhar com Live Activities usando o SDK do iOS da Pushwoosh.


## Múltiplas atividades por dispositivo

Você pode iniciar múltiplas Live Activities no mesmo dispositivo chamando `startLiveActivity` várias vezes com valores diferentes de `live_activity_id`.

Por exemplo, se você iniciar duas atividades: `FIRST_LIVE_ACTIVITY` com `filter: FILTER_NAME_1` e `SECOND_LIVE_ACTIVITY` com `filter: FILTER_NAME_2`, um dispositivo que corresponda a ambos os filtros terá ambas as atividades em execução simultaneamente.

Para atualizar uma delas, passe seu `live_activity_id` para `updateLiveActivity`. A atualização é entregue a todos os dispositivos onde essa atividade foi criada. A outra atividade não é afetada.

O parâmetro `relevance-score` controla a prioridade de exibição quando múltiplas Live Activities estão ativas no mesmo dispositivo. Se o espaço na tela for limitado ou as atividades estiverem agrupadas, a atividade com um valor maior é mostrada com maior prioridade.