> For the complete documentation index, see [llms.txt](https://docs.mercuri.cx/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mercuri.cx/mercuri-docs-es/caracteristicas/introduccion-mercuri-api/casos-de-uso-como-usar-la-api-de-mercuri-en-wix-velo-+-automations/recuperacion-de-carrito-abandonado.md).

# Recuperación de Carrito Abandonado

{% embed url="<https://youtu.be/L_sOB2vNBck>" %}

#### Configurar Wix Automation

1. Ve a **Automations** en el Wix Dashboard y luego haz clic en **Create Automation.**
2. Selecciona la automatización que deseas activar (por ejemplo, Cart Abandonment).
3. Agrega una Velo Code Action y añade un archivo .js con el siguiente código:

{% code title="WhatsApp" overflow="wrap" lineNumbers="true" %}

```javascript
import { secrets } from 'wix-secrets-backend.v2';
import { elevate } from 'wix-auth';
import { fetch } from 'wix-fetch';

// Crear versiones elevadas de las funciones de secrets
const elevatedGetSecretValue = elevate(secrets.getSecretValue);

/**
 * Declaración de función autocomplete, no eliminar
 * @param {import('./__schema__.js').Payload} options
 */
export const invoke = async ({ payload }) => {
  try {
    // Obtener bearer token de manera segura
    const bearerToken = await elevatedGetSecretValue('MERCURI_MESSAGING_API_KEY');
    console.log("Bearer Token",bearerToken)
    // Extraer datos de contacto
    const firstName = payload.contact?.name?.first || '';
    const lastName = payload.contact?.name?.last || '';
    const recipient = payload.contact?.phone || '';

    if (!recipient) {
      console.error('Recipient phone number missing.');
      return {};
    }

    const apiPayload = {
      phoneNumberId: "xxxxxxxxxxxxxxxxxxx",
      channel: "whatsapp",
      recipient: recipient,
      message: {
        type: "template",
        template: {
          templateId: "xxxxxxxxxxxxxxxxxxx",
          parameters: [
            {
              firstName: firstName,
              lastName: lastName
            }
          ]
        }
      },
      saveToInbox: true
    };

    // Llamar a Mercuri API
    const response = await fetch('https://api.mercuri.cx/v1/send_message', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': `Bearer ${bearerToken}`
      },
      body: JSON.stringify(apiPayload)
    });

    if (!response.ok) {
      const errorMsg = await response.text();
      console.error(`Mercuri API error: ${response.status} - ${errorMsg}`);
    } else {
      const respData = await response.json();
      console.log('Message sent successfully:', respData);
    }
  } catch (error) {
    console.error('Error in invoke:', error);
  }

  return {};  // Objeto de retorno vacío requerido
};
```

{% endcode %}

{% hint style="info" %}
**Nota:🔧 Cambios a realizar después de copiar el código**

1. **Actualizar el Secret Name**

En esta línea:

{% code overflow="wrap" %}

```js
const bearerToken = await elevatedGetSecretValue('MERCURI_MESSAGING_API_KEY');
```

{% endcode %}

reemplaza `'MERCURI_MESSAGING_API_KEY'` con el **Secret Name** que creaste en **Wix Secret Manager**.\\

2. **Agregar tu Phone Number ID**

* Reemplaza `"xxxxxxxxxxxxxxxxxxx"` correspondiente a **phoneNumberId** en el código con el **Phone Number ID** que copiaste desde el Mercuri Dashboard.

3. **Agregar tu Template ID**

* Reemplaza `"xxxxxxxxxxxxxxxxxxx"` correspondiente a **templateId** con el **Template ID** que copiaste desde el Mercuri Dashboard.

***Haz clic en este enlace para ver las instrucciones sobre cómo localizar el Phone Number ID y Template ID.***

El arreglo de `parameters` mapeará automáticamente los valores del payload de Wix Automation a los campos de tu plantilla, como firstName, lastName y recipient.
{% endhint %}

### Pasos Finales

1. Después de subir el código Velo, guarda los cambios.
2. Activa la automatización en Wix.
3. Opcionalmente, prueba con un contacto de ejemplo para asegurar que los mensajes se envíen correctamente.

Una vez completados estos pasos, habrás configurado exitosamente Wix Automation para enviar mensajes de WhatsApp usando la Mercuri API.
