GOOGLE ADS

sábado, 23 de abril de 2022

La búsqueda no funciona en restlet SuiteScript 2.0

Estoy tratando de usar search.create en RESTlet para verificar si existe un contacto en mi cuenta de netsuite o no. este es mi codigo

define(['N/record','N/search'],
function(record,search) {
function dosearch(contact_mail){
var result;
try{
result = search.create({
type: record.Type.CONTACT,
filters:['email','IS',contact_mail],
columns: ['email']
}).run().getRange({
start: 0,
end: 1
});
log.debug(result);
} catch(e){
result = e;
}
return result;
}
function doGet(requestParams) {

var contact_mail = requestParams.email;
log.debug(contact_mail);
var result = dosearch(contact_mail);
return result;
}

Y estoy accediendo a este RESTlet desde mi sistema usando este código de nodo js.

async function myGet(){
var para = {id: 'my_id', email: 'email'};
var accountSettings = {
//'Content-Type': 'application/json',
//params: para,
accountId: account_id,
tokenKey: token_key,
tokenSecret: token_secret,
consumerKey: consumer_key,
consumerSecret: consumer_secret };
var urlSettings = {
url: link
}
var myInvoices = nsrestlet.createLink(accountSettings, urlSettings)
try{
var res = await myInvoices.get(para);
console.log(res);
} catch(e){
console.log(e);
}
}

¿Hay algo mal con el código? Probé el mismo código de búsqueda con el script de eventos del usuario y funcionó allí, pero no funciona en RESTlet. Puede alguien ayudarme con esto.


Solución del problema

Fallar silenciosamente en una búsqueda es un indicador de que el rol que está usando con su RESTlet no tiene acceso a los contactos. En general, veo esto con las transacciones. Espero que los contactos funcionen de manera similar porque, bajo las cubiertas, un contacto es una forma de entidad.

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...