# API Live Activities iOS

> Documentation Apple :
> 
> * [À propos des Live Activities](https://developer.apple.com/design/human-interface-guidelines/live-activities)
> * [Mise à jour et fin des Live Activities avec les notifications push d'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`

Permet de créer des Live Activities iOS.

### Corps de la requête

| Paramètre     | Type   | Requis/Optionnel | Description                                                                 |
|---------------|--------|-------------------|-----------------------------------------------------------------------------|
| application   | String | Requis           | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code)                                             |
| auth          | String | Requis           | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de Contrôle Pushwoosh.                          |
| notifications | Array  | Requis           | Tableau JSON des paramètres de message. Voir les détails dans le tableau Notifications ci-dessous. |

#### Notifications
Paramètres utilisés dans le tableau `notifications` :

| Paramètre        | Type             | Requis/Optionnel | Description                                                                 |
|------------------|------------------|-------------------|-----------------------------------------------------------------------------|
| content       | String | Requis          | Contenu de repli pour les appareils exécutant des versions d'iOS inférieures à 16.1 qui ne prennent pas en charge les Live Activities. Sur iOS 16.1+ (avec prise en charge des Live Activities), le contenu provient du champ `live_activity`. |
| title         | String | Optionnel          | Le titre du message de notification.                                                                                                            |
| live_activity    | Object           | Requis           | Données de Live Activity pour créer une Live Activity dans iOS.                          |
| live_activity.content-state    | Object           | Requis           | Contenu pour la notification de Live Activity.                                 |
| live_activity.attributes-type  | String           | Requis           | Le type d'attributs utilisé dans la Live Activity.                           |
| live_activity.attributes       | Object           | Requis           | Attributs pour la Live Activity.                                           |
| live_activity_id | String           | Requis           | Un identifiant unique pour la Live Activity. Utilisé pour cibler cette activité lors de l'appel à `updateLiveActivity`. Doit être unique par session d'activité. |
| filter | String | Optionnel | Le nom d'un filtre Pushwoosh (segment). Voir [Nom du segment / filtre](/fr/developer/api-reference/api-identifiers/#segment--filter-name). La Live Activity sera démarrée sur tous les appareils correspondant à ce filtre. |
| devices | Array of Strings | Optionnel | Une liste de [jetons d'appareil](/fr/developer/api-reference/api-identifiers/#push-token). La Live Activity ne sera démarrée que sur les appareils spécifiés. |



### Exemple de requête

<Tabs>
<TabItem label="Avec filtre">
```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="Avec appareils">
```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>

### Exemple de réponse

```json
{
  "status_code": 200,
  "status_message": "OK",
  "response": {
    "Messages": [
      "XXXXX-XXXXXXXX-XXXXXXXX"
    ]
  }
}
```
> **Remarque :**
> 
> Lisez [cet article](/fr/developer/pushwoosh-sdk/ios-sdk/ios-live-activities) pour en savoir plus sur l'utilisation des Live Activities avec le SDK iOS de Pushwoosh.


## updateLiveActivity


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

Permet de mettre à jour et de terminer les Live Activities iOS

### Corps de la requête

| Paramètre      | Type   | Requis/Optionnel | Description                                                            |
|----------------|--------|-------------------|------------------------------------------------------------------------|
| auth           | String | Requis           | [Jeton d'accès API](/fr/developer/api-reference/api-identifiers/#api-access-token) depuis le Panneau de Contrôle Pushwoosh.                      |
| application    | String | Requis           | [Code d'application Pushwoosh](/fr/developer/api-reference/api-identifiers/#application-code)                                       |
| notifications  | Array  | Requis           | Tableau JSON des paramètres de message. Voir les détails dans le tableau Notifications ci-dessous. |

#### Notifications

Paramètres utilisés dans le tableau `notifications` :

| Paramètre        | Type    | Requis/Optionnel | Description                                                                 |
|------------------|---------|-------------------|-----------------------------------------------------------------------------|
| live_activity    | Object  | Requis           | Données de Live Activity pour mettre à jour une Live Activity dans iOS.                          |
| live_activity.event            | String  | Requis           | Spécifie le type d'événement. Utilisez `"update"` pour mettre à jour la Live Activity ou `"end"` pour la fermer. |
| live_activity.content-state    | Object  | Requis           | Objet avec des paires clé-valeur utilisé pour passer des données à la Live Activity afin de mettre à jour son contenu. |
| live_activity.dismissal-date   | Integer | Optionnel           | L'heure (en secondes) à laquelle la Live Activity doit se terminer.                    |
| live_activity_id | String  | Requis           | L'identifiant unique de la Live Activity à mettre à jour. Doit correspondre au `live_activity_id` utilisé dans **startLiveActivity**. La mise à jour sera livrée à tous les appareils sur lesquels cette activité a été démarrée.                |
| live_activity.relevance-score  | Integer | Optionnel           | Indique au système iOS quelle Live Activity a une priorité plus élevée que les autres. Accepte des valeurs de 1 à l'infini (des valeurs jusqu'à 100 sont recommandées). |
| live_activity.stale-date | Integer | Optionnel | L'heure (en secondes) qui représente la date à laquelle une Live Activity devient obsolète ou périmée.|


### Exemple de requête

```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"
      }
    ]
  }
}
```

### Exemple de réponse

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

> [Lisez cet article](/fr/developer/pushwoosh-sdk/ios-sdk/ios-live-activities/) pour en savoir plus sur l'utilisation des Live Activities avec le SDK iOS de Pushwoosh.


## Activités multiples par appareil

Vous pouvez démarrer plusieurs Live Activities sur le même appareil en appelant `startLiveActivity` plusieurs fois avec des valeurs `live_activity_id` différentes.

Par exemple, si vous démarrez deux activités : `FIRST_LIVE_ACTIVITY` avec le filtre : `FILTER_NAME_1` et `SECOND_LIVE_ACTIVITY` avec le filtre : `FILTER_NAME_2`, un appareil qui correspond aux deux filtres aura les deux activités en cours d'exécution simultanément.

Pour mettre à jour l'une d'entre elles, passez son `live_activity_id` à `updateLiveActivity`. La mise à jour est livrée à tous les appareils où cette activité a été créée. L'autre activité n'est pas affectée.

Le paramètre `relevance-score` contrôle la priorité d'affichage lorsque plusieurs Live Activities sont actives sur le même appareil. Si l'espace à l'écran est limité ou si les activités sont regroupées, l'activité avec la valeur la plus élevée est affichée avec une priorité supérieure.