我们曾经在rest.sandbox.netsuite.com上访问Netsuite restlet。我最近回到了一个项目,这些不再有效。登录沙箱也已更新,因此EU用户现在切换到沙箱角色,这会更新URL以包含eu1。
根据:https://netsuite.custhelp.com/app/answers/detail/a_id/65712/kw/sandbox%20restlet
我认为应该针对沙盒/预览数据针对rest.eu1.netsuite.com/提出请求。但是,沙盒帐户中Restlet的更新似乎没有反映在请求响应中。
我错过了什么?我一直在搜索Netsuite的文档但是空白了。
答案 0 :(得分:1)
NetSuite最近开设了至少一个新数据中心,并转移了部分客户账户。我们的域名从rest.netsuite.com
更改为rest.na3.netsuite.com
。我们的沙盒网址尚未更改。
NetSuite建议避免使用静态定义的URL,它们提供了两种使用getDataCenterUrls()
请求动态发现会计的各种URL的方法。
有SOAP和REST(类似)方法来获取此信息。您可以在documentation here中了解这些流程。它们提供Java和C#中的示例。如果您将初始请求指向https://rest.sandbox.netsuite.com/rest/roles
。
在2017.2升级中,NetSuite引入了特定于帐户的域,无论客户帐户所在的数据中心如何,都不会更改。这些看起来像123456.restlets.api.netsuite.com
。有关详细信息,请参阅2017.2 Release Notes。
答案 1 :(得分:1)
找到答案。您需要将_SB1 SB2等附加到请求auth标头中的帐户ID。我不确定这对oAuth有什么用,但我想我以后会越过那座桥......
https://system.eu2.netsuite.com/app/help/helpcenter.nl?fid=section_4609939018.html
EU Sandbox的帐户ID编号约定
在NA沙箱中,有一个主沙箱,可能有一个辅助沙箱或二级沙箱。主沙箱的帐户ID与生产帐户的帐户ID相同。辅助沙箱可能或可能不具有与生产帐户相同的帐户ID,附加_SB2,_SB3等。 (有关详细信息,请参阅主沙箱和辅助沙箱。)
在欧盟沙箱中,没有主要沙箱的概念;所有欧盟沙箱都是二级沙箱。帐户ID始终与生产帐户的帐户ID相同,后跟_SB1,_SB2,_SB3等。
例如:
生产帐号:123456 EU沙箱帐户ID:123456_SB1 EU沙箱帐户ID:123456_SB2 EU沙箱帐户ID:123456_SB3