# Procesamiento en lote de reversos vía API (servicios web) - descripción general

<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">Realiza el curso PXA</a>

Si algo de una acción cambia (por ejemplo, se canceló un pedido, se devolvió un artículo, etc.), puedes usar la API para modificarla (o revertirla), cambiando la cantidad de comisión por la acción. En este artículo, mostraremos cómo modificar y revertir una acción con llamadas cURL a la API de Marca de impact.com.

**Opciones de reversión por proceso por lotes:**

* Modificar o revertir uno o más artículos en una acción vía API
* Revertir una acción completa vía API

#### Prerequisito: Recuperar el *ActionId* valor

Para revertir una acción, necesitarás su `ActionId` valor. La llamada a continuación recuperará todas las acciones para un *Programa* (es decir, *Campaña*) — puedes usar esto para encontrar la acción que deseas modificar.

* Puedes especificar un rango de fechas en tu llamada — de lo contrario, el endpoint mostrará por defecto los últimos 30 días de acciones.
* [Se aplican límites de velocidad](https://integrations.impact.com/impact-brand/reference/rate-limits) .
* Ver el [Listar todas las acciones](https://integrations.impact.com/impact-brand/reference/list-all-actions) Documentación del endpoint de la API para aprender más.

<details>

<summary>Referencia de parámetros</summary>

| Parámetro   | Descripción                                                                                                                                                                                                                                                                                                                                                                           |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `AccountId` | El valor del ID de la cuenta API de su cuenta de impact.com. [Aprenda cómo encontrar este valor](https://help.impact.com/brand/es/account-administration/account-settings/api-tokens/manage-api-access-tokens-as-a-brand).                                                                                                                                                            |
| `AuthToken` | El valor del token de autorización de la API de su cuenta de impact.com. [Aprenda cómo encontrar este valor](https://help.impact.com/brand/es/account-administration/account-settings/api-tokens/manage-api-access-tokens-as-a-brand).                                                                                                                                                |
| `IdCampaña` | <p>El valor ID del programa (campaña) bajo el cual se rastreó la acción.</p><p><img src="https://3147719151-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="Llamada de ejemplo" %}

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

{% endtab %}

{% tab title="Respuesta de ejemplo" %}

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

{% endtab %}
{% endtabs %}

#### Preguntas frecuentes

<details>

<summary>¿Cómo restablezco una modificación/reversión realizada a una acción (o artículos de la acción)?</summary>

Si una acción ha sido modificada o revertida antes de su fecha de bloqueo, puedes enviar `RESET` como razón para actualizar la acción a su estado predeterminado:

```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'
```

Las acciones que han sido restablecidas mediante el `RESET` código pueden no aparecer correctamente en los informes (por ejemplo, los valores de ingresos pueden calcularse incorrectamente).

</details>

<details>

<summary>¿Cuál es la diferencia entre un código de disposición y una razón?</summary>

Tanto los Códigos de Disposición como las Razones se usan en el mismo contexto — *Las razones* son códigos predefinidos que la API aceptará por defecto, mientras que *Los códigos de disposición* son razones personalizadas que puedes configurar. [Aprende más sobre los códigos de disposición](https://help.impact.com/brand/es/platform-features/tracking/set-up-tracking/manage-disposition-codes).

Enviar cualquiera de estos valores como razón revertirá el artículo (o la acción):

| Código                  | Descripción                         |
| ----------------------- | ----------------------------------- |
| `CONS_FRAUD`            | Fraude del consumidor               |
| `CONS_ERROR`            | Error del consumidor                |
| `ITEM_RETURNED`         | Artículo devuelto                   |
| `ORDER_ERROR`           | Error del pedido                    |
| `ORDER_UPDATE`          | El pedido fue actualizado           |
| `PUB_ACT_DISPUTE`       | Disputa de actividad del socio      |
| `ADV_ACT_DISPUTE`       | Disputa de actividad del anunciante |
| `NOT_COMPLIANCE_TERMS`  | No cumple con los términos          |
| `ITEM_OUT_OF_STOCK`     | El artículo está agotado            |
| `TEST_ACTION`           | Acción de prueba                    |
| `PARTNER_NOT_ACTIVE`    | Cuenta del socio desactivada        |
| `CREDITED_DIFFERENT_MP` | Acreditado a otro socio             |
| `OTHER`                 | Otro motivo                         |
| `ITEM_CANCELLED`        | Artículo en el pedido fue cancelado |

</details>

<details>

<summary>¿Cómo puedo ver cuándo se aplican las modificaciones/reversiones a una acción?</summary>

Puede usar los [actualizaciones de acción](https://integrations.impact.com/impact-brand/reference/the-action-update-object) endpoint para ver cuándo se actualizó por última vez una acción y cuál es su estado actual.

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

{% hint style="info" %}
**Nota:** Un `ActionUpdatesID` valor es diferente de un `ActionId` valor — debes usar el `ActionUpdatesID` valor para recuperar actualizaciones de una acción.
{% endhint %}

</details>
