# Configuración del webhook de Netsuite

\**Nota: La funcionalidad actualmente está limitada a Órdenes de Compra\**

1. **Crear una integración de Netsuite en Violet**
   * Navegar a Violet y [configurar una nueva integración de Netsuite](https://docs.violetlabs.com/es/aplicaciones/n/netsuite).
2. **Crear un Webhook en Violet**

   * Haz clic en la foto de tu perfil de usuario en la esquina inferior izquierda.
   * Ir a la **Página de Webhooks** página.

   <div align="left"><figure><img src="https://3116332745-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvrraExym8pNEUvBDoima%2Fuploads%2F9tIV8KtBq9iSWNIpWTAB%2Fimage.png?alt=media&#x26;token=9f05f85f-5600-4c1c-bc1d-278cad305597" alt=""><figcaption></figcaption></figure></div>

   * Haz clic en <mark style="color:morado;">**+ CREAR URL DE WEBHOOK**</mark>
   * Selecciona la integración de Netsuite que creaste.
3. **Copiar la URL del Webhook**
   * Guarda la URL generada — **esto solo se mostrará una vez**.
4. **Descargar y actualizar el script**
   * Descargar el [Script de Webhook de Violet para Netsuite](https://drive.google.com/file/d/1FHY3y0zU8uFZiu2VGhc6TxKGBiOZgSlg/view?usp=sharing).
   * Reemplazar `[PEGAR LA URL DEL WEBHOOK GENERADA EN LA PESTAÑA DE WEBHOOKS DE VIOLET AQUÍ]` con tu URL de Webhook.
5. **Subir el script a Netsuite**
   * Navega en Netsuite a: `Personalización → Scripting → Scripts → Nuevo`.
   * Sube el script y asígnale un nombre.
6. **Desplegar el script**
   * Bajo la **pestaña Despliegues** pestaña:
     * Establecer **Aplica a** → `Orden de compra`.
     * Establece el despliegue **Estado** → `Liberado`.
   * Guarda el script.
7. **Establecer audiencia**
   * Abre la página de despliegue del script.
   * Bajo **Audiencia**, selecciona `Todos los empleados`. Esto garantizará que el script se ejecute en las acciones de creación o edición apropiadas sin importar qué usuario realice la acción.
8. **Verificar la funcionalidad del Webhook**
   * El webhook ahora debería enviar eventos a Violet cada vez que se cree o edite una OC o una línea de OC.
   * **Nota:** Las eliminaciones no son compatibles con los Webhooks: se reflejarán en la siguiente extracción programada desde Netsuite.
9. **Probar la funcionalidad del Webhook**
   * Edita una Orden de Compra dentro de Netsuite y cambia la ubicación de la Orden de Compra.
   * Dentro de Violet, entra en la línea de tiempo de la integración en tu integración de Netsuite (bajo `Aplicaciones → [Nombre de tu integración de Netsuite] → Haz clic en el ícono de Línea de tiempo etiquetado "Ver línea de tiempo de la integración”`)
   * Comprueba si ves un `evento de webhook` dentro de la línea de tiempo, cerca de la parte superior.
   * Comprueba si la ubicación cambiada se actualiza dentro de la entidad correspondiente en Violet. Esto puede tardar unos minutos en procesarse.
   * Si alguno de estos pasos no funciona, contacta con Violet.

### Errores posibles

* **Error al guardar la OC editada:**

  ```
  Error
  Ha ocurrido un error inesperado. Por favor haz clic aquí para notificar al soporte y proporcionar tu información de contacto.
  ```

  * Causa: El despliegue del script en Netsuite no está funcionando correctamente.
  * Solución: Elimina el despliegue y el script, luego comienza de nuevo desde el paso 5. Si el problema persiste, contacta con Violet.
* **Cambios que no se muestran en Violet (sin error al guardar):**
  * Revisa el registro de ejecución del script de Netsuite en busca de errores al enviar el webhook.
  * Revisa la línea de tiempo de la integración (bajo `Aplicaciones → [Nombre de tu integración de Netsuite] → Haz clic en el ícono de Línea de tiempo etiquetado "Ver línea de tiempo de la integración”`) en Violet en busca de errores de procesamiento.
  * Contacta a Violet con la información recopilada.
