NetSuite Suitescript и сторонний API для веб-сервисов

Я просто хочу убедиться, что нахожусь на правильном пути, поэтому мне нужно ваше руководство.

Я работаю над проектом, в котором мне нужно интегрировать NetSuite со сторонним приложением. Стороннее приложение предоставляет свои API в виде -

http:// www........asmx url

Итак, у меня есть код сборки в виде сценария «Пользовательское событие» в NetSuite для вызова этого API; оформить запрос SOAP; используйте nlapiRequestURL(), чтобы получить этот запрос в XML; форматировать данные; а затем используйте такой код, как:

customerRecord.setFieldValue('comments', response.getBody()); 

добавить значение в базу данных NS? Это правильный способ?

У меня есть сценарий, в котором мне нужно найти все новые заказы на продажу, клиентов и т. Д., Созданные в стороннем приложении, для интеграции в NetSuite в течение 5-10 минут. Как я могу этого добиться? В стороннем приложении нет триггера, а есть только эти API.

Нужно ли мне писать запланированный сценарий для репликации того, что я делаю в сценарии пользовательского события?

Может кто-нибудь предложить правильный метод?


person meg    schedule 11.12.2014    source источник


Ответы (2)


Да, конечно, все будет намного проще, если вы выберете сценарий расписания в своем сценарии. Пользовательские события очень похожи на действия и не соответствуют критериям, по которым вы должны проверять каждые 10/15 минут, чтобы найти обновленные записи.

Некоторые важные моменты:

При использовании nlapiRequestURL() имейте в виду, что есть два versions этого API:

  • Версия на стороне клиента и версия на стороне сервера.
  • Когда вы выполняете этот API в вызове сервера, параметр обратного вызова отсутствует. Следовательно, сигнатура функции в вызове на стороне сервера - nlapiRequestURL (url, postdata, headers, httpMethod).
  • Когда вы выполняете этот API в клиентском скрипте, сигнатура функции - nlapiRequestURL (url, postdata, headers, callback, httpMethod).

Опять же, имеет значение, как вы синхронизируете свой NS с другим сторонним приложением. С вашей точки зрения я вижу, что вы хотите реплицировать все изменения с внешнего сервера на NS. Но убедитесь, что вы хорошо фильтруете переходные данные, чтобы получить только созданную / обновленную запись. В противном случае вы будете без надобности вызывать 10000 записей каждые 15 минут. и это создаст нагрузку на NS.

Однако, что касается вашего последующего запроса, NS действительно обеспечивает гибкость для использования Java, .Net, PHP и, конечно же, Suitescript. Таким образом, вы можете использовать любой из них, который соответствует вашим требованиям. Если ваши входящие данные основаны на протоколе SOAP, вам определенно понадобится анализатор XML для их анализа. Таким образом, вы можете использовать Java или .Net по своему усмотрению. В противном случае, если он в JSON и вам нужен легкий носитель, вы можете выбрать suitescript, и это упростит вам работу.

person Rockstar    schedule 12.12.2014

Вы всегда должны делать такие вещи в запланированных сценариях NetSuite. Пользовательские события NetSuite не следует использовать, поскольку они всегда требуют, чтобы действие пользователя (загрузка записи, отправка записи) происходило с типом записи NetSuite для их вызова.

Для вашего варианта использования «поиск всех новых заказов на продажу, клиентов и т. Д., Созданных в стороннем приложении для интеграции в NetSuite в течение 5-10 минут», это хороший кандидат для запланированного задания, которое ищет все новые данные на внешнем system, а затем помещает ее обратно в NetSuite. Кроме того, поскольку запланированные сценарии имеют более высокие (10000) пределы точек использования API, вы можете обрабатывать очень много записей в запланированном сценарии.

person Rohit Gupta    schedule 11.12.2014
comment
Спасибо Рохиту за ответ. Еще один быстрый вопрос. Как вы думаете, Suitscript - это то, что вам нужно, или есть другой вариант, который я могу выбрать, который будет лучше с точки зрения производительности. Могу ли я использовать код dotnet / java и загружать его на бесплатный веб-сервер? Это сработает? Во всех документах Netsuite говорится о dot net / java / php в suitetalk, но не известно, как запустить его из netsuite. - person meg; 12.12.2014
comment
SuiteScript - лучшее решение imo, поскольку сценарии будут работать на собственном веб-сервере NetSuite (без планирования заданий Cron / дополнительного обслуживания сервера для вас). Ваш вариант использования включает отправку большого количества записей о клиентах и ​​заказах на продажу в базу данных NetSuite, а отправка записей с помощью Native SuiteScript - гораздо менее затратная операция, чем вызов WebService. - person Rohit Gupta; 12.12.2014
comment
@meg Можете ли вы также проголосовать / отметить мой ответ как принятый, если он отвечает на ваш исходный вопрос.! Спасибо - person Rohit Gupta; 20.12.2014