Antes de comenzar la integración con Astroselling se deben realizar una serie de configuraciones en la cuenta de NetSuite.
Para eso debemos loguearnos con sus credenciales, e-mail y password, en la web: https://system.netsuite.com/pages/customerlogin.jsp.
Paso 1: Obtener número de cuenta
Para poder dar de alta el cliente en Astroselling, debemos saber el "número de cuenta".
Para conocer este dato, debemos ir a:
Configuración -> Empresa -> Información de la empresa
El "número de cuenta" corresponde con el campo ID DE CUENTA.
Paso 2: Creación de un nuevo rol
Si bien nuestra cuenta Netsuite estará asociada a un rol (ej.: Administrador), para que la integración funcione y sea segura, es necesario crear un nuevo rol con determinados permisos y asociarlo a la cuenta. Para crear el nuevo rol:
Crear un nuevo rol
Configuración > Usuarios/Roles > Gestionar roles -> Crear
Le asignamos un nombre (por ejemplo: '"Astroselling RESTlets webservice role")
A este nuevo rol debemos otorgarle permisos, lo hacemos desde:
Permisos > Listas > Agregar Permisos:
- Artículo (nivel Completo)
- Tokens de acceso de usuario (nivel Completo)
Guardamos este rol y vamos a:
Configuración > Usuarios/Roles > Gestionar usuarios > Editar* > Acceso > Roles
y añadimos el rol recién creado.
* Debemos editar el usuario con el que hemos iniciado sesión (por ejemplo: "Astroselling").
Guardamos los cambios.
Paso 3: Búsqueda guardada (Saved search)
Debemos crear una búsqueda guardada que permitirá recolectar los datos de artículos que serán importados en Astroselling.
Dado que Netsuite permite definir para cada artículo, un precio base y varios alternativos para cada tipo de moneda en el sistema, será necesario incorporar algunos filtros a la consulta con el fin de seleccionar un único precio para cada artículo. Es decir que se deberá seleccionar la moneda en la que se presentarán los precios. A continuación, se hará referencia a esta como *moneda seleccionada*.
A continuación, los pasos a seguir:
Listas > Buscar > Búsquedas guardadas > Crear Búsqueda guardada > Categoría: Artículo
En Criterio debemos agregar los filtros:
Tipo: es Artículo de Inventario
Fijación de precios: Moneda > es *moneda seleccionada*
Fijación de precios: Nivel de precio > es Precio base
En Resultados debemos agregar los siguientes filtros:
Ordenar por: Indicar ID Interno
Columnas:
- ID interno
Nombre
Nombre para mostrar
Descripción
Cantidad total en stock
Fijación de precios > Precio unitario
Fijación de precios > Moneda
Ubicar la búsqueda creada dentro del listado presentado. El **id de la búsqueda** corresponde con el campo ID de este ítem. ( Ej.: 'customsearch273')
Guardamos la búsqueda.
Tomar nota del "id de la búsqueda" creada.
Listas > Buscar > Búsquedas guardadas.
Paso 4: Creación del webservice RESTlets
Personalización > Creación de scripts > Scripts > Crear > + > Examinar > seleccionar archivo
Debemos seleccionar el archivo astrosellingRestletScript.js que está ubicado dentro de ./netsuiteEndpoint.
Guardamos.
Crear registro de script > RESTlet
y completar los siguientes datos:
Nombre: astrosellingRestletWS
Scripts > Función GET: getProductList
Guardamos.
Ahora debemos hacer click en "Implementar script" y cambiamos el estado a "Lanzado"
Audiencia > ROLES > "Rol recién creado" > Guardar
Por último, en pantalla veremos todos los datos de publicación del web service, entre ellos la URL EXTERNA.
Tomar nota del "id del script" y el "número de deploy".
Estos corresponden con los valores de los parámetros script y deploy,
respectivamente, del campo URL EXTERNA.
>Ej.: para la url https://xxxxxx.restlets.api.netsuite.com/app/site/hosting/restlet.nl?script=305&deploy=1, estos datos son 305 y 1.
Paso 5: Crear un registro de integración
Para conseguir que Astroselling se pueda conectar con Netsuite utilizando el método de autenticación basado en token se debe crear en primer lugar un nuevo registro de integración siguiente estos pasos:
Configuración > Integración > Administrar integraciones > Crear
Indicamos un nombre (por ejemplo 'Astroselling RESTlet'.) y aplicamos los siguientes filtros:
Estado: Habilitado
Autenticación: Basada en token (Única)
Guardamos.
Tomar nota de los valores "consumer key" y "consumer secret".
Estos valores solo son mostradas al momento de creación de la integración.
Paso 6: Habilitar autenticación basada en Token
Configuración > Empresa > Habilitar funciones > Solapa SuiteClooud.
En Gestionar autenticación seleccionamos la opción Autenticación basada en tokens.
Guardamos.
Paso 7: Crear tokens de acceso
Configuración > Usuarios/Roles > Tokens de acceso > Crear
Completamos los siguientes datos:
Nombre de la aplicación: elegir la aplicación que se creó (ej.: 'Astroselling RESTlet'.)
Usuario: elegir el nombre el usuario con el que se inició sesión (ej.: 'Astroselling'.)
Rol: seleccionar el rol previamente creado (ej.: 'Astroselling RESTlets webservice role'.)
Guardamos.
Tomar nota de los valores "token id" y "token secret".
Estos valores solo son mostradas al momento de creación de la integración.
Paso 8: Alta de cliente en Astroselling
Para dar de alta el cliente se debe enviar una HTTP Request con este formato:
URL: http://<servidor_produccion>/netsuite/clients
MÉTODO: POST
BODY:
{
"netsuite_account": <nro de cuenta>,
"netsuite_token_id": <token id>
"netsuite_token_secret": <token secret>
"netsuite_consumer_key": <consumer key>
"netsuite_consumer_secret": <consumer secret>
"netsuite_script": <id del script>,
"netsuite_deploy": <nro de deploy>,
"netsuite_search": "<id de la búsqueda>",
"as_channel_id": <as_channel_id>,
"as_token": "<as_token>"