Saltar al contenido

Conector de NetSuite Upsert en Jitterbit Design Studio

La actividad de upsert de NetSuite disponible dentro del conector de NetSuite permite actualizar registros existentes o crear nuevos registros en una instancia de NetSuite conectada utilizando Jitterbit. Un "upsert" es esencialmente una operación de actualización o creación, o ambas, dependiendo de los datos proporcionados.

Nota

Antes de configurar una operación de upsert de NetSuite, necesitarás tener un endpoint de NetSuite definido. Para más información sobre cómo crear un endpoint, consulta endpoint del conector de NetSuite.

Esta página describe cómo actualizar registros existentes y crear nuevos registros de NetSuite al mismo tiempo, utilizando un ejemplo de actualización del número de teléfono de un cliente existente y la creación de un nuevo cliente en NetSuite a partir de datos de origen proporcionados en un archivo CSV a través de Jitterbit.

Ejemplo

Para referencia, consulta el Jitterpak NetSuiteExample.jpk y los archivos acompañantes en NetSuiteSampleFiles.zip. Descomprime el NetSuiteSampleFiles.zip en tu unidad "C:\" o, si lo descomprimes en otro directorio, asegúrate de editar los directorios de origen y destino en las operaciones. Si es tu primera vez utilizando un Jitterpak, consulta Importando un Jitterpak.

Este ejemplo demuestra cómo crear un nuevo cliente y actualizar la información del cliente en un registro que fue creado como ejemplo durante el recorrido de creación del conector de NetSuite. Este ejemplo se utiliza solo con fines de demostración y no cubre todas las opciones disponibles en el producto; por favor, consulta Design Studio para una documentación más completa.

Las siguientes secciones están divididas en el inicio de la actividad de upsert, la definición de los componentes de la operación y el despliegue y ejecución de la operación.

Creando una operación Upsert de NetSuite

Nota

Si no estás familiarizado con Jitterbit, consulta Comenzar o Estudio de Diseño para obtener información detallada sobre cómo usar el producto.

  1. Dentro de tu proyecto en Jitterbit Studio, hay varias formas de comenzar una nueva actividad de upsert de NetSuite. Cada una de las siguientes opciones iniciará el Asistente de Upsert de NetSuite para guiarte a través del proceso.

    • Ve a Archivo > Nuevo > Conectores > Nuevo Upsert de NetSuite.
    • En el árbol a la izquierda bajo Conectores, haz clic derecho en la categoría NetSuite, luego selecciona Nuevo Upsert de NetSuite.
    • En el árbol a la izquierda bajo Conectores, haz doble clic en la categoría NetSuite, luego haz clic derecho en Nuevo Upsert de NetSuite y selecciona Nuevo Upsert de NetSuite.
    • En la barra de herramientas superior, haz clic en el ícono del conector (pieza de rompecabezas naranja) attachment. En la ventana emergente, selecciona NetSuite, luego selecciona Upsert de NetSuite.
  2. La pantalla de Endpoint del Asistente de Upsert de NetSuite debería abrirse en la vista principal de Studio. Esta pantalla solicita seleccionar el endpoint en el que te gustaría crear nuevos datos o actualizar datos existentes. Ya deberías haber configurado tu endpoint en endpoint del conector de NetSuite. Usa el menú desplegable para seleccionar el endpoint apropiado. Haz clic en Siguiente cuando termines.

    attachment

  3. La pantalla de Objeto del Asistente de Upsert de NetSuite te pide que selecciones el objeto en el que te gustaría hacer upsert de datos. En este ejemplo, queremos crear un nuevo registro de cliente y actualizar un registro de cliente existente en NetSuite, así que seleccionamos el objeto "Cliente", luego hacemos clic en Finalizar para continuar.

    Nota

    Si tienes muchos objetos disponibles en tu cuenta de NetSuite, es posible que debas esperar un momento para que se carguen. También puedes ingresar un nombre de objeto en el campo Filtro o usar el menú desplegable Objetos a mostrar para limitar los resultados a "Objetos Estándar" u "Objetos Personalizados". Prueba el botón Actualizar si los resultados no son lo que esperabas.

    attachment

  4. Jitterbit procederá a crear una estructura de solicitud y respuesta de API de NetSuite que permitirá realizar upsert de datos dentro de su cuenta de NetSuite conectada. Debería aparecer una nueva pestaña en Studio llamada NetSuite Upserts. Puede renombrar su actividad de upsert aquí si lo desea; en el ejemplo, la nuestra se llama "Ejemplo de Upsert de Cliente de NetSuite." También puede usar los botones + - o las flechas para expandir todos los elementos dentro de cada estructura.

    attachment

  5. A continuación, en la misma pantalla, haga clic en el botón Crear Operación ubicado bajo Usar en una Integración en la esquina superior derecha. Esto creará la operación de Jitterbit que realizará el upsert de datos de clientes en NetSuite.

  6. Debería abrirse una nueva pestaña en Studio llamada Operaciones, que contiene una representación gráfica de la actividad de upsert.

    attachment

    Nota

    Los íconos de Fuente, Solicitud, Respuesta y Objetivo en la imagen anterior son marcadores de posición para los componentes de la operación, que definiremos en la siguiente sección.

    Guarde su operación haciendo clic en el ícono de disco único para guardar solo esta operación o en el ícono de discos múltiples para guardar todos los cambios en su proyecto de integración. Debería ver el asterisco en la pestaña Operaciones y el título de la operación desaparecer a medida que su nueva actividad de upsert se crea y guarda en su proyecto.

Definiendo los componentes de la operación

A continuación, necesitamos definir los otros componentes de la operación que aparecen dentro de la representación gráfica, incluyendo Fuente, Solicitud, Respuesta y Objetivo.

Para cada uno, las instrucciones a continuación le indican que regrese a la representación gráfica de la operación que ha creado y haga doble clic en cada ícono para configurar cada componente. Como alternativa, también podría crear la Fuente, Solicitud, Respuesta y Objetivo por separado y luego arrastrarlos y soltarlos desde el árbol a la izquierda directamente sobre los íconos en la representación visual de su operación.

Para los propósitos de este recorrido, proporcionamos los siguientes ejemplos para referencia arriba: Jitterpak NetSuiteExample.jpk y archivos acompañantes en NetSuiteSampleFiles.zip. Se pueden utilizar muchos tipos diferentes de datos para cada componente de la operación. Para aprender más sobre opciones de personalización adicionales, consulte la sección Design Studio de nuestra documentación.

  • Fuente: En el ejemplo, utilizamos un archivo CSV como la solicitud de entrada para actualizar un cliente existente y crear un nuevo cliente con los valores de campo proporcionados a continuación. La siguiente tabla muestra el contenido del archivo de ejemplo CustomerUpsertRequest.csv.

    ID Nombre Correo electrónico Teléfono Dirección Ciudad Estado Código Postal
    Test Cust 1 Test Customer 1 test1@example.com 1-999-999-9999 1234 Main St. Denver CO 80250
    Test Cust 2 Test Customer 2 test2@example.com 1-888-888-8888 1234 Sample Dr. San Francisco CA 94101
    Test Cust 3 Test Customer 3 test3@example.com 1-777-777-7777 1234 Example Way Houston TX 77001

    Nota

    Un upsert de NetSuite debe incluir un campo ID que se mapee al ExternalID del cliente en NetSuite. Si hay nuevos registros que necesitan ser creados, usar solo InternalID no será suficiente, ya que este campo aún no se habría creado para nuevos registros en NetSuite.

    Nota

    En la tabla anterior, Test Customer 1 y Test Customer 2 fueron creados originalmente en el recorrido de NetSuite connector create. El número de teléfono de Test Customer 1 fue actualizado durante el recorrido de NetSuite connector update. El ejemplo de un upsert en esta página incluye (1) el número de teléfono actualizado para Test Customer 1, por lo que este registro se actualizará si no estaba ya; de lo contrario, permanecerá igual, (2) un número de teléfono recién actualizado para Test Customer 2, y (3) un nuevo registro de cliente para agregar a Test Customer 3.

    Nota

    Hay una variedad de tipos de origen disponibles en Jitterbit. Consulta Fuentes para más información.

    Para usar el archivo CSV, primero haz doble clic en el ícono de Origen, luego haz clic en el botón Crear Nuevo Origen y dale un Nombre a tu origen (por ejemplo, CustomerUpsertRequest.csv). A continuación, para este ejemplo, estamos utilizando un agente privado con archivos locales habilitados, y por lo tanto selecciona un Tipo de "Archivo Local" y luego Examinar para la ubicación. Si estás utilizando los archivos de ejemplo, la Carpeta es 'C:\NetSuiteSampleFiles' y el Obtener Archivos es 'CustomerUpsertRequest.csv'. También expandiremos las Opciones y configuraremos Ignorar Líneas a Primera: '1' ya que nuestro archivo CSV utiliza una fila de encabezado.

  • Destino: Haz doble clic en el ícono de Destino. En el ejemplo, registraremos la respuesta de NetSuite en un archivo CSV para proporcionar información sobre el éxito/fallo. Haz clic en el botón Crear Nuevo Destino, dale un Nombre a tu destino (por ejemplo, CustomerUpsertResponse.csv), y nuevamente selecciona un Tipo de "Archivo Local" y Examinar para una ubicación en el agente privado donde queremos guardar los datos. En el ejemplo, la Carpeta es 'C:\NetSuiteSampleFiles' y el Nombre del Archivo es 'CustomerUpsertResponse.csv'.

    Nota

    También puedes enviar la salida a una variedad de diferentes tipos de destino. El tipo no tiene que ser el mismo que el tipo de origen. Consulta Destinos para opciones.

  • Solicitud: Haz doble clic en el ícono de Solicitud y selecciona Crear Nueva Transformación. Esto abrirá el Asistente de Transformación que te guiará a través de la creación de la solicitud.

    Nota

    Se proporciona información adicional sobre las estructuras de solicitud en Transformaciones.

    1. En la primera pantalla, Nombre, proporciona un Nombre para tu transformación o déjalo como el predeterminado. Luego utiliza el menú desplegable de Origen para seleccionar el tipo de origen. Para el ejemplo, utilizamos un archivo CSV, que se considera "Texto." Haz clic en Siguiente para continuar.

    2. En la siguiente pantalla, Source, utiliza el menú desplegable Available File Format Definitions para seleccionar la misma definición de formato de archivo de origen creada durante NetSuite connector create (es decir, "Ejemplo de archivo plano de cliente").

      O, si estás creando desde cero, puedes seleccionar Create New. Esto abrirá opciones adicionales para definir un nuevo formato de archivo. Proporciona un Name para el nuevo formato de archivo (en el ejemplo lo llamamos "Ejemplo de archivo plano de cliente"). Para crear la definición de texto basada en nuestro archivo CSV existente, selecciona Create From File, luego en la ventana emergente busca el archivo local 'CustomerUpsertRequest.csv'.

      Haz clic en Finish para continuar.

    3. La pestaña Transformations debería abrirse donde puedes completar tu mapeo. Usa el + para expandir los elementos de origen y destino en cada árbol. Luego arrastra y suelta cada campo que te gustaría mapear de un árbol al otro.

      Nota

      Un upsert de NetSuite debe incluir un campo ID que se mapea al ExternalID del cliente en NetSuite. Si hay nuevos registros que necesitan ser creados, usar solo InternalID no será suficiente ya que este campo aún no se habría creado para nuevos registros en NetSuite.

      Tu mapeo de transformación debería verse similar al que se muestra a continuación:

      attachment

  • Response: Haz doble clic en el ícono Response y selecciona Create New Transformation. Esto abrirá el Transformation Wizard que te guiará a través de la creación de la respuesta.

    Nota

    Se proporciona información adicional sobre las estructuras de respuesta en Transformations.

    1. En la primera pantalla, Name, proporciona un Name para tu transformación o déjalo como el predeterminado. Luego utiliza el menú desplegable Target para seleccionar el tipo de destino. Para el ejemplo, usamos un archivo CSV, que se considera "Texto." Haz clic en Next para continuar.

    2. En la siguiente pantalla, Target, utiliza el menú desplegable Available File Format Definitions para seleccionar la misma definición de formato de archivo de destino creada durante NetSuite connector create (es decir, "Estructura de Respuesta de NetSuite").

      O, si estás creando desde cero, puedes seleccionar Create New. En el ejemplo configuramos una estructura de respuesta típica que escribirá el ID externo, el estado y el mensaje en la respuesta para que recibamos retroalimentación si la operación de upsert falla. En la primera pantalla, establece el Name del nuevo formato de archivo (en el ejemplo el nuestro se llama "Estructura de Respuesta de NetSuite"), luego haz clic en el botón para Create Manually. En la siguiente pantalla, haz clic en New y agrega tres nuevos campos llamados "ExternalID," "Status," y "Message."

      Haz clic en Finish para continuar.

    3. La pestaña Transformations debería abrirse donde puedes completar tu mapeo. Usa el + para expandir los lados de origen y destino. En este ejemplo, agregaremos scripts para obtener el ID externo en NetSuite para que si la operación falla, ahora sepamos el ID del registro fallido para solucionar problemas. Para hacer esto:

      • Arrastra y suelta el campo "isSuccess" desde el lado de origen al nuevo campo "Status" en el lado de destino.

      • Haz doble clic en el campo "ExternalID" en el lado de destino para abrir el Formula Builder y agrega las siguientes funciones al script, luego haz clic en OK.

        <trans>
        FindByPos(SourceInstanceCount(),jbroot$jbrequest$upsertList$record#.Customer$externalId)
        </trans>
        

        La función FindByPos encuentra la instancia en los datos solicitados que corresponde a la respuesta.

      • Haz doble clic en el campo "Message" en el lado de destino para abrir el Formula Builder y agrega las siguientes funciones al script, luego haz clic en OK.

        <trans>
        SumString(jbroot$jbresponse$upsertListResponse$writeResponseList$writeResponse.status$statusDetail#.message$,"|",true)
        </trans>
        

        La función SumString concatenará un elemento que puede tener más de una instancia en una sola cadena.

        Nota

        Encuentra funciones de script adicionales para usar durante tu mapeo de Transformación o por separado como Scripts en la sección de Constructor de fórmulas. Además, hay varias funciones específicas de NetSuite documentadas en Funciones de conector que se pueden usar para mapeos o scripts más complejos.

      Tu mapeo de transformación debería verse similar al que se muestra a continuación:

      attachment

  • Scripts opcionales: Puedes encontrar funciones de script adicionales para usar durante tu mapeo de Transformación o por separado como Scripts en la sección de Constructor de fórmulas. Para información adicional, consulta Conector de NetSuite avanzado.

Desplegando y ejecutando la operación

Con la actividad de upsert de NetSuite completamente configurada, estamos listos para desplegar y ejecutar la operación.

  1. Desde la pestaña Operaciones, haz clic en el ícono de desplegar attachment.

  2. Luego haz clic en el ícono de ejecutar attachment para colocar la operación en la cola para su ejecución.

  3. En la parte inferior de la pantalla, el Monitor de operaciones debería indicar que tu operación se ejecutó con éxito. Si no, puedes hacer doble clic en el ícono de Estado para ver cualquier mensaje de registro.

    attachment

  4. También deberías ver ahora la respuesta de salida que fue mapeada a tu archivo de destino. En el ejemplo, el archivo ahora se crea en 'C:\NetSuiteSampleFiles\CustomerUpsertResponse.csv'. Dado que la operación se ejecutó con éxito, vemos el campo ID seguido de un estado de '1', indicando éxito. Si la operación hubiera fallado, veríamos un '0' junto con una tercera columna mostrando el mensaje de error del registro.

    ExternalID Status Message
    Test Cust 1 1
    Test Cust 2 1
    Test Cust 3 1
  5. Además, cuando revises tu cuenta de NetSuite, deberías encontrar la información del Cliente de Prueba 2 actualizada con el nuevo número de teléfono, y el registro del Cliente de Prueba 3 creado.

    attachment

    Nota

    Puedes encontrar más información sobre la llamada a la API de NetSuite en el Registro de Uso de Servicios Web disponible en NetSuite bajo Configuración > Integración > Registro de Uso de Servicios Web. Esto proporciona información detallada sobre el éxito/fallo, así como la solicitud y respuesta que se envió a Jitterbit.