# Panoramica dell'elaborazione in batch di inversioni via API (Web Services)

<a href="https://pxa.impact.com/student/activity/2268418?sid=0c0e3e5c-54c9-4435-9bee-ebcdccb7f292&#x26;sid_i=0?utm_source=app.impact.com&#x26;utm_medium=owned-platform&#x26;utm_content=&#x26;utm_campaign=help-center" class="button primary">Segui il corso PXA</a>

Se qualcosa riguardo a un'azione cambia (ad es., un ordine è stato annullato, un articolo è stato restituito, ecc.), puoi usare l'API per modificarla (o annullarla), cambiando l'importo della commissione per l'azione. In questo articolo mostreremo come modificare e annullare un'azione con chiamate cURL all'API Brand di impact.com.

**Opzioni di annullamento in batch:**

* Modificare o annullare uno o più articoli in un'azione tramite API
* Annullare un'intera azione tramite API

#### Prerequisito: Recuperare il *ActionId* valore

Per annullare un'azione, ti servirà il suo `ActionId` valore. La chiamata qui sotto recupererà tutte le azioni per un *Programma* (cioè, *Campaign*) — puoi usarlo per trovare l'azione che vuoi modificare.

* Puoi specificare un intervallo di date nella tua chiamata — altrimenti, l'endpoint mostra per impostazione predefinita gli ultimi 30 giorni di azioni.
* [Si applicano limiti di velocità](https://integrations.impact.com/impact-brand/reference/rate-limits) .
* Visualizza il [Elenca tutte le azioni](https://integrations.impact.com/impact-brand/reference/list-all-actions) Documentazione dell'endpoint API per saperne di più.

<details>

<summary>Riferimento dei parametri</summary>

| Parametro    | Descrizione                                                                                                                                                                                                                                                                                                                                                                                      |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `AccountId`  | Il valore ID dell'account API del tuo account impact.com. [Scopri come trovare questo valore](https://help.impact.com/brand/it/account-administration/account-settings/api-tokens/manage-api-access-tokens-as-a-brand).                                                                                                                                                                          |
| `AuthToken`  | Il valore del token di autorizzazione API del tuo account impact.com. [Scopri come trovare questo valore](https://help.impact.com/brand/it/account-administration/account-settings/api-tokens/manage-api-access-tokens-as-a-brand).                                                                                                                                                              |
| `CampaignId` | <p>Il valore ID del programma (campagna) sotto il quale l'azione è stata tracciata.</p><p><img src="https://1043985218-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FwMLlMoFBtKJa8ptd3zaw%2Fuploads%2Fgit-blob-31394f285a15896ee35415220c2ee33641e1e8db%2F6cdb04166abb32ded5995d58f18ef3e6462d01cddcf81cd387abb3cac22e3389.png?alt=media" alt="" data-size="original"></p> |

</details>

{% tabs %}
{% tab title="Esempio di chiamata" %}

```programlisting
curl 'https://api.impact.com/Advertisers/{AccountSID}/Actions' \
  -X GET \
  -u '{AccountSID}:{AuthToken}' \
  -H 'Accept: application/json' \
  -d 'CampaignId={CampaignId}'
```

{% endtab %}

{% tab title="Esempio di risposta" %}

```programlisting
{
  "@page": "1",
  ...,
  "Actions": [
    {
      "Id": "1000.4636.158133",
      ...,
    }
  ]
}
```

{% endtab %}
{% endtabs %}

#### FAQ

<details>

<summary>Come faccio a reimpostare una modifica / annullamento effettuato su un'azione (o sugli articoli dell'azione)?</summary>

Se un'azione è stata modificata o annullata prima della sua data di blocco, puoi inviare `RESET` come motivo per riportare l'azione al suo stato predefinito:

```programlisting
curl 'https://api.impact.com/Advertisers/{AccountSID}/Actions' \
  -X PUT \
  -u '{AccountSID}:{AuthToken}' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'ActionId={ActionId}' \
  -d 'Reason=RESET'
```

Le azioni che sono state reimpostate tramite il `RESET` codice potrebbero non apparire correttamente nei report (ad es., i valori di ricavo potrebbero essere calcolati in modo errato).

</details>

<details>

<summary>Qual è la differenza tra un codice di disposizione e un motivo?</summary>

Sia i Codici di Disposizione che i Motivi vengono usati nello stesso contesto — *I Motivi* sono codici predefiniti che l'API accetterà di default, mentre *I Codici di Disposizione* sono motivi personalizzati che puoi configurare. [Per saperne di più sui Codici di Disposizione](https://help.impact.com/brand/it/platform-features/tracking/set-up-tracking/manage-disposition-codes).

L'invio di uno qualsiasi di questi valori come motivo annullerà l'articolo (o l'azione):

| Codice                  | Descrizione                                   |
| ----------------------- | --------------------------------------------- |
| `CONS_FRAUD`            | Frode del consumatore                         |
| `CONS_ERROR`            | Errore del consumatore                        |
| `ITEM_RETURNED`         | Articolo restituito                           |
| `ORDER_ERROR`           | Errore d'ordine                               |
| `ORDER_UPDATE`          | L'ordine è stato aggiornato                   |
| `PUB_ACT_DISPUTE`       | Controversia sull'attività del partner        |
| `ADV_ACT_DISPUTE`       | Controversia sull'attività dell'inserzionista |
| `NOT_COMPLIANCE_TERMS`  | Non conforme ai termini                       |
| `ITEM_OUT_OF_STOCK`     | Articolo esaurito                             |
| `TEST_ACTION`           | Azione di test                                |
| `PARTNER_NOT_ACTIVE`    | Account partner disattivato                   |
| `CREDITED_DIFFERENT_MP` | Accreditato a un altro partner                |
| `OTHER`                 | Altro motivo                                  |
| `ITEM_CANCELLED`        | Articolo nell'ordine è stato annullato        |

</details>

<details>

<summary>Come posso vedere quando le modifiche / gli annullamenti vengono applicati a un'azione?</summary>

Puoi usare i [aggiornamenti dell'azione](https://integrations.impact.com/impact-brand/reference/the-action-update-object) endpoint per vedere quando un'azione è stata aggiornata l'ultima volta e qual è il suo stato attuale.

```programlisting
curl 'https://api.impact.com/Advertisers/{AccountSID}/ActionUpdates/{ActionUpdatesId}' \
  -X GET \
  -u '{AccountSID}:{AuthToken}' \
  -H 'Accept: application/json' \
```

{% hint style="info" %}
**Nota:** Una `ActionUpdatesID` il valore è diverso da un `ActionId` valore — devi usare il `ActionUpdatesID` valore per recuperare gli aggiornamenti di un'azione.
{% endhint %}

</details>
