netsuite 0.7.1 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +4 -0
- data/lib/netsuite.rb +6 -2
- data/lib/netsuite/configuration.rb +2 -8
- data/lib/netsuite/records/base_ref_list.rb +3 -19
- data/lib/netsuite/records/billing_schedule_milestone_list.rb +4 -23
- data/lib/netsuite/records/billing_schedule_recurrence_list.rb +4 -23
- data/lib/netsuite/records/bin_number_list.rb +5 -23
- data/lib/netsuite/records/cash_refund_item_list.rb +3 -23
- data/lib/netsuite/records/cash_sale_item_list.rb +3 -15
- data/lib/netsuite/records/customer_payment_apply_list.rb +3 -22
- data/lib/netsuite/records/customer_refund_apply_list.rb +3 -20
- data/lib/netsuite/records/deposit_payment_list.rb +3 -4
- data/lib/netsuite/records/gift_certificate_item.rb +84 -0
- data/lib/netsuite/records/inventory_transfer_inventory_list.rb +2 -23
- data/lib/netsuite/records/item_fulfillment_package_list.rb +3 -19
- data/lib/netsuite/records/journal_entry_line_list.rb +3 -23
- data/lib/netsuite/records/member_list.rb +3 -22
- data/lib/netsuite/records/other_charge_sale_item.rb +73 -0
- data/lib/netsuite/records/record_ref_list.rb +2 -20
- data/lib/netsuite/records/units_type_uom_list.rb +2 -23
- data/lib/netsuite/records/vendor.rb +4 -1
- data/lib/netsuite/records/vendor_bill_item_list.rb +3 -23
- data/lib/netsuite/records/vendor_payment_apply_list.rb +3 -23
- data/lib/netsuite/records/work_order_item_list.rb +3 -23
- data/lib/netsuite/rest/utilities/request.rb +53 -0
- data/lib/netsuite/rest/utilities/roles.rb +45 -0
- data/lib/netsuite/utilities.rb +20 -0
- data/lib/netsuite/version.rb +1 -1
- data/spec/netsuite/actions/search_spec.rb +1 -1
- data/spec/netsuite/configuration_spec.rb +3 -3
- data/spec/netsuite/records/basic_record_spec.rb +2 -0
- data/spec/netsuite/records/custom_record_spec.rb +1 -1
- data/spec/netsuite/records/invoice_item_spec.rb +1 -1
- data/spec/netsuite/records/journal_entry_spec.rb +1 -1
- data/spec/netsuite/records/vendor_bill_expense_spec.rb +1 -1
- data/spec/netsuite/records/vendor_bill_item_spec.rb +2 -2
- data/spec/netsuite/utilities/request_spec.rb +29 -0
- data/spec/netsuite/utilities/roles_spec.rb +98 -0
- data/{wsdl/2011_2.wsdl → spec/support/2015.wsdl} +190 -56
- data/spec/support/configuration.rb +1 -0
- metadata +12 -4
- data/wsdl/2012_1.wsdl +0 -2283
@@ -0,0 +1,45 @@
|
|
1
|
+
module NetSuite
|
2
|
+
module Rest
|
3
|
+
module Utilities
|
4
|
+
class Roles
|
5
|
+
|
6
|
+
class << self
|
7
|
+
|
8
|
+
def get(email, password)
|
9
|
+
code, body = Request.get(
|
10
|
+
email: email,
|
11
|
+
password: password,
|
12
|
+
uri: '/roles'
|
13
|
+
)
|
14
|
+
code == "200" ? format_response(body) : body
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def format_response(parsed)
|
20
|
+
# [
|
21
|
+
# {
|
22
|
+
# "account"=>{
|
23
|
+
# "internalId"=>"TSTDRV15",
|
24
|
+
# "name"=>"Honeycomb Mfg SDN (Leading)"},
|
25
|
+
# "role"=>{
|
26
|
+
# "internalId"=>3,
|
27
|
+
# "name"=>"Administrator"},
|
28
|
+
# "dataCenterURLs"=>{
|
29
|
+
# "webservicesDomain"=>"https://webservices.na1.netsuite.com",
|
30
|
+
# "restDomain"=>"https://rest.na1.netsuite.com",
|
31
|
+
# "systemDomain"=>"https://system.na1.netsuite.com"}
|
32
|
+
# },
|
33
|
+
# ....
|
34
|
+
{
|
35
|
+
accounts: parsed.map {|hash| hash["account"]["internalId"] }.uniq,
|
36
|
+
roles: parsed.map {|hash| hash["role"]["internalId"] }.uniq,
|
37
|
+
wsdls: parsed.map {|hash| hash["dataCenterURLs"]["webservicesDomain"] }.uniq,
|
38
|
+
}
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/netsuite/utilities.rb
CHANGED
@@ -57,6 +57,26 @@ module NetSuite
|
|
57
57
|
return errors.size > 0
|
58
58
|
end
|
59
59
|
|
60
|
+
|
61
|
+
def get_item(ns_item_internal_id)
|
62
|
+
# TODO add additional item types!
|
63
|
+
ns_item = NetSuite::Utilities.get_record(NetSuite::Records::InventoryItem, ns_item_internal_id)
|
64
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::AssemblyItem, ns_item_internal_id)
|
65
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::NonInventorySaleItem, ns_item_internal_id)
|
66
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::NonInventoryResaleItem, ns_item_internal_id)
|
67
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::DiscountItem, ns_item_internal_id)
|
68
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::OtherChargeSaleItem, ns_item_internal_id)
|
69
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::ServiceSaleItem, ns_item_internal_id)
|
70
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::GiftCertificateItem, ns_item_internal_id)
|
71
|
+
ns_item ||= NetSuite::Utilities.get_record(NetSuite::Records::KitItem, ns_item_internal_id)
|
72
|
+
|
73
|
+
if ns_item.nil?
|
74
|
+
fail NetSuite::RecordNotFound, "item with ID #{ns_item_internal_id} not found"
|
75
|
+
end
|
76
|
+
|
77
|
+
ns_item
|
78
|
+
end
|
79
|
+
|
60
80
|
def get_record(record_klass, id, opts = {})
|
61
81
|
opts[:external_id] ||= false
|
62
82
|
|
data/lib/netsuite/version.rb
CHANGED
@@ -100,7 +100,7 @@ describe NetSuite::Actions::Search do
|
|
100
100
|
|
101
101
|
:attributes! => {
|
102
102
|
"platformCore:customField" => {
|
103
|
-
"
|
103
|
+
"scriptId" => ["custentity_customerandcontacttypelist", "custentity_relatedthing"],
|
104
104
|
"operator" => ["anyOf", "anyOf"],
|
105
105
|
"xsi:type" => ["platformCore:SearchMultiSelectCustomField", "platformCore:SearchMultiSelectCustomField"]
|
106
106
|
}
|
@@ -52,7 +52,7 @@ describe NetSuite::Configuration do
|
|
52
52
|
|
53
53
|
context 'when the wsdl has not been set' do
|
54
54
|
it 'returns a path to the WSDL to use for the API' do
|
55
|
-
expect(config.wsdl).to
|
55
|
+
expect(config.wsdl).to eq("https://webservices.netsuite.com/wsdl/v2015_1_0/netsuite.wsdl")
|
56
56
|
end
|
57
57
|
end
|
58
58
|
|
@@ -214,8 +214,8 @@ describe NetSuite::Configuration do
|
|
214
214
|
|
215
215
|
describe '#api_version' do
|
216
216
|
context 'when no api_version is defined' do
|
217
|
-
it 'defaults to
|
218
|
-
expect(config.api_version).to eq('
|
217
|
+
it 'defaults to 2015_1' do
|
218
|
+
expect(config.api_version).to eq('2015_1')
|
219
219
|
end
|
220
220
|
end
|
221
221
|
end
|
@@ -42,7 +42,7 @@ describe NetSuite::Records::VendorBillItem do
|
|
42
42
|
attributes = {
|
43
43
|
:custom_field => {
|
44
44
|
:value => 10,
|
45
|
-
:
|
45
|
+
:script_id => 'custfield_value'
|
46
46
|
}
|
47
47
|
}
|
48
48
|
item.custom_field_list = attributes
|
@@ -63,7 +63,7 @@ describe NetSuite::Records::VendorBillItem do
|
|
63
63
|
attributes = {
|
64
64
|
:custom_field => {
|
65
65
|
:value => 10,
|
66
|
-
:
|
66
|
+
:script_id => 'custfield_value'
|
67
67
|
}
|
68
68
|
}
|
69
69
|
item.options = attributes
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Rest::Utilities::Request do
|
4
|
+
subject { described_class }
|
5
|
+
|
6
|
+
describe '#get' do
|
7
|
+
it { is_expected.to respond_to :get }
|
8
|
+
let(:default_args) do
|
9
|
+
{ email: 'jim@godaddy.com', password: 'secret', uri: '/sandwich'}
|
10
|
+
end
|
11
|
+
|
12
|
+
[:email, :password, :uri].each do |key|
|
13
|
+
it "throws an error if no #{key} key is given" do
|
14
|
+
expect{
|
15
|
+
subject.get(default_args.delete_if{|x| x == key})
|
16
|
+
}.to raise_error(KeyError)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
it 'returns an array with the response code and parsed body' do
|
21
|
+
allow(subject).to receive(:make_request).and_return(
|
22
|
+
double(:response, code: "200", body: [{great: :body}].to_json)
|
23
|
+
)
|
24
|
+
expect( subject.get(default_args) ).to eq ["200", [{"great" => "body"}]]
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
end
|
@@ -0,0 +1,98 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe NetSuite::Rest::Utilities::Roles do
|
4
|
+
subject { described_class }
|
5
|
+
|
6
|
+
describe '#get' do
|
7
|
+
it { is_expected.to respond_to :get }
|
8
|
+
|
9
|
+
it 'invokes the request module' do
|
10
|
+
expect( NetSuite::Rest::Utilities::Request ).to receive(:get)
|
11
|
+
subject.get('jimbob@netzero.com', 'pickles')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'formats the API response if successful' do
|
15
|
+
allow( NetSuite::Rest::Utilities::Request ).to receive(:get).and_return(
|
16
|
+
["200", {parsed: :response}]
|
17
|
+
)
|
18
|
+
expect( subject ).to receive(:format_response).with({parsed: :response}).and_return nil
|
19
|
+
subject.get('jimbob@netzero.com', 'pickles')
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'returns the full error message if unsuccessful' do
|
23
|
+
allow( NetSuite::Rest::Utilities::Request ).to receive(:get).and_return(
|
24
|
+
["500", {oh: :no!}]
|
25
|
+
)
|
26
|
+
expect( subject ).to_not receive(:format_reponse)
|
27
|
+
expect( subject.get('jimbob@netzero.com', 'pickles') ).to eq({oh: :no!})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe '#format_response' do
|
32
|
+
let(:parsed) do
|
33
|
+
[
|
34
|
+
{
|
35
|
+
"account"=>{
|
36
|
+
"internalId"=>"TSTDRV15",
|
37
|
+
"name"=>"Honeycomb Mfg SDN (Leading)"},
|
38
|
+
"role"=>{
|
39
|
+
"internalId"=>3,
|
40
|
+
"name"=>"Administrator"},
|
41
|
+
"dataCenterURLs"=>{
|
42
|
+
"webservicesDomain"=>"https://webservices.na1.netsuite.com",
|
43
|
+
"restDomain"=>"https://rest.na1.netsuite.com",
|
44
|
+
"systemDomain"=>"https://system.na1.netsuite.com"}
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"account"=>{
|
48
|
+
"internalId"=>"TSTDRV15",
|
49
|
+
"name"=>"Honeycomb Mfg SDN (Leading)"},
|
50
|
+
"role"=>{
|
51
|
+
"internalId"=>1,
|
52
|
+
"name"=>"Accountant"},
|
53
|
+
"dataCenterURLs"=>{
|
54
|
+
"webservicesDomain"=>"https://webservices.na1.netsuite.com",
|
55
|
+
"restDomain"=>"https://rest.na1.netsuite.com",
|
56
|
+
"systemDomain"=>"https://system.na1.netsuite.com"}
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"account"=>{
|
60
|
+
"internalId"=>"TSTDRV14",
|
61
|
+
"name"=>"Honeycomb Mfg SDN (Leading)"},
|
62
|
+
"role"=>{
|
63
|
+
"internalId"=>1,
|
64
|
+
"name"=>"Accountant"},
|
65
|
+
"dataCenterURLs"=>{
|
66
|
+
"webservicesDomain"=>"https://webservices.na1.netsuite.com",
|
67
|
+
"restDomain"=>"https://rest.na1.netsuite.com",
|
68
|
+
"systemDomain"=>"https://system.na1.netsuite.com"}
|
69
|
+
},
|
70
|
+
]
|
71
|
+
end
|
72
|
+
|
73
|
+
it 'pulls out the account_ids' do
|
74
|
+
expect(
|
75
|
+
subject.send(:format_response, parsed).fetch(:accounts)
|
76
|
+
).to eq ["TSTDRV15","TSTDRV14"]
|
77
|
+
end
|
78
|
+
|
79
|
+
it 'pulls out the role_ids' do
|
80
|
+
expect(
|
81
|
+
subject.send(:format_response, parsed).fetch(:roles)
|
82
|
+
).to eq [3, 1]
|
83
|
+
end
|
84
|
+
|
85
|
+
it 'pulls out the wsdls' do
|
86
|
+
expect(
|
87
|
+
subject.send(:format_response, parsed).fetch(:wsdls)
|
88
|
+
).to eq ["https://webservices.na1.netsuite.com"]
|
89
|
+
end
|
90
|
+
|
91
|
+
it 'handles an empty response body' do
|
92
|
+
expect{
|
93
|
+
subject.send(:format_response, [])
|
94
|
+
}.to_not raise_error
|
95
|
+
end
|
96
|
+
|
97
|
+
end
|
98
|
+
end
|
@@ -1,42 +1,46 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<definitions xmlns:tns="urn:
|
2
|
+
<definitions xmlns:tns="urn:platform_2015_1.webservices.netsuite.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:platformMsgs="urn:messages_2015_1.platform.webservices.netsuite.com" xmlns:platformFaults="urn:faults_2015_1.platform.webservices.netsuite.com" targetNamespace="urn:platform_2015_1.webservices.netsuite.com">
|
3
3
|
<types>
|
4
4
|
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
|
5
|
-
<xsd:import namespace="urn:
|
6
|
-
<xsd:import namespace="urn:
|
7
|
-
<xsd:import namespace="urn:
|
8
|
-
<xsd:import namespace="urn:
|
9
|
-
<xsd:import namespace="urn:
|
10
|
-
<xsd:import namespace="urn:types.
|
11
|
-
<xsd:import namespace="urn:
|
12
|
-
<xsd:import namespace="urn:types.
|
13
|
-
<xsd:import namespace="urn:
|
14
|
-
<xsd:import namespace="urn:types.
|
15
|
-
<xsd:import namespace="urn:
|
16
|
-
<xsd:import namespace="urn:types.
|
17
|
-
<xsd:import namespace="urn:
|
18
|
-
<xsd:import namespace="urn:types.
|
19
|
-
<xsd:import namespace="urn:
|
20
|
-
<xsd:import namespace="urn:types.
|
21
|
-
<xsd:import namespace="urn:
|
22
|
-
<xsd:import namespace="urn:
|
23
|
-
<xsd:import namespace="urn:
|
24
|
-
<xsd:import namespace="urn:
|
25
|
-
<xsd:import namespace="urn:
|
26
|
-
<xsd:import namespace="urn:types.
|
27
|
-
<xsd:import namespace="urn:
|
28
|
-
<xsd:import namespace="urn:
|
29
|
-
<xsd:import namespace="urn:types.
|
30
|
-
<xsd:import namespace="urn:
|
31
|
-
<xsd:import namespace="urn:types.
|
32
|
-
<xsd:import namespace="urn:
|
33
|
-
<xsd:import namespace="urn:types.
|
34
|
-
<xsd:import namespace="urn:
|
35
|
-
<xsd:import namespace="urn:types.
|
36
|
-
<xsd:import namespace="urn:
|
37
|
-
<xsd:import namespace="urn:
|
38
|
-
<xsd:import namespace="urn:types.
|
39
|
-
|
5
|
+
<xsd:import namespace="urn:core_2015_1.platform.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/platform/v2015_1_0/core.xsd"/>
|
6
|
+
<xsd:import namespace="urn:faults_2015_1.platform.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/platform/v2015_1_0/faults.xsd"/>
|
7
|
+
<xsd:import namespace="urn:messages_2015_1.platform.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/platform/v2015_1_0/messages.xsd"/>
|
8
|
+
<xsd:import namespace="urn:common_2015_1.platform.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/platform/v2015_1_0/common.xsd"/>
|
9
|
+
<xsd:import namespace="urn:scheduling_2015_1.activities.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/activities/v2015_1_0/scheduling.xsd"/>
|
10
|
+
<xsd:import namespace="urn:types.scheduling_2015_1.activities.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/activities/v2015_1_0/schedulingTypes.xsd"/>
|
11
|
+
<xsd:import namespace="urn:communication_2015_1.general.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/general/v2015_1_0/communication.xsd"/>
|
12
|
+
<xsd:import namespace="urn:types.communication_2015_1.general.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/general/v2015_1_0/communicationTypes.xsd"/>
|
13
|
+
<xsd:import namespace="urn:relationships_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/relationships.xsd"/>
|
14
|
+
<xsd:import namespace="urn:types.relationships_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/relationshipTypes.xsd"/>
|
15
|
+
<xsd:import namespace="urn:support_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/support.xsd"/>
|
16
|
+
<xsd:import namespace="urn:types.support_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/supportTypes.xsd"/>
|
17
|
+
<xsd:import namespace="urn:accounting_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/accounting.xsd"/>
|
18
|
+
<xsd:import namespace="urn:types.accounting_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/accountingTypes.xsd"/>
|
19
|
+
<xsd:import namespace="urn:sales_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/sales.xsd"/>
|
20
|
+
<xsd:import namespace="urn:types.sales_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/saleTypes.xsd"/>
|
21
|
+
<xsd:import namespace="urn:purchases_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/purchases.xsd"/>
|
22
|
+
<xsd:import namespace="urn:customers_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/customers.xsd"/>
|
23
|
+
<xsd:import namespace="urn:financial_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/financial.xsd"/>
|
24
|
+
<xsd:import namespace="urn:bank_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/bank.xsd"/>
|
25
|
+
<xsd:import namespace="urn:inventory_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/inventory.xsd"/>
|
26
|
+
<xsd:import namespace="urn:types.inventory_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/inventoryTypes.xsd"/>
|
27
|
+
<xsd:import namespace="urn:general_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/general.xsd"/>
|
28
|
+
<xsd:import namespace="urn:customization_2015_1.setup.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/setup/v2015_1_0/customization.xsd"/>
|
29
|
+
<xsd:import namespace="urn:types.customization_2015_1.setup.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/setup/v2015_1_0/customizationTypes.xsd"/>
|
30
|
+
<xsd:import namespace="urn:employees_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/employees.xsd"/>
|
31
|
+
<xsd:import namespace="urn:types.employees_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/employeeTypes.xsd"/>
|
32
|
+
<xsd:import namespace="urn:filecabinet_2015_1.documents.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/documents/v2015_1_0/fileCabinet.xsd"/>
|
33
|
+
<xsd:import namespace="urn:types.filecabinet_2015_1.documents.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/documents/v2015_1_0/fileCabinetTypes.xsd"/>
|
34
|
+
<xsd:import namespace="urn:website_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/website.xsd"/>
|
35
|
+
<xsd:import namespace="urn:types.website_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/websiteTypes.xsd"/>
|
36
|
+
<xsd:import namespace="urn:employees_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/employees.xsd"/>
|
37
|
+
<xsd:import namespace="urn:marketing_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/marketing.xsd"/>
|
38
|
+
<xsd:import namespace="urn:types.marketing_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/marketingTypes.xsd"/>
|
39
|
+
<xsd:import namespace="urn:demandplanning_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/demandPlanning.xsd"/>
|
40
|
+
<xsd:import namespace="urn:types.demandplanning_2015_1.transactions.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/transactions/v2015_1_0/demandPlanningTypes.xsd"/>
|
41
|
+
<xsd:import namespace="urn:supplychain_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/supplyChain.xsd"/>
|
42
|
+
<xsd:import namespace="urn:types.supplychain_2015_1.lists.webservices.netsuite.com" schemaLocation="https://webservices.netsuite.com/xsd/lists/v2015_1_0/supplyChainTypes.xsd"/>
|
43
|
+
</xsd:schema>
|
40
44
|
</types>
|
41
45
|
<message name="headers">
|
42
46
|
<part name="applicationInfo" element="platformMsgs:applicationInfo"/>
|
@@ -64,11 +68,17 @@
|
|
64
68
|
<message name="mapSsoResponse">
|
65
69
|
<part name="parameters" element="platformMsgs:mapSsoResponse"/>
|
66
70
|
</message>
|
67
|
-
<message name="
|
68
|
-
<part name="parameters" element="platformMsgs:
|
71
|
+
<message name="changePasswordRequest">
|
72
|
+
<part name="parameters" element="platformMsgs:changePassword"/>
|
69
73
|
</message>
|
70
|
-
<message name="
|
71
|
-
<part name="parameters" element="platformMsgs:
|
74
|
+
<message name="changePasswordResponse">
|
75
|
+
<part name="parameters" element="platformMsgs:changePasswordResponse"/>
|
76
|
+
</message>
|
77
|
+
<message name="changeEmailRequest">
|
78
|
+
<part name="parameters" element="platformMsgs:changeEmail"/>
|
79
|
+
</message>
|
80
|
+
<message name="changeEmailResponse">
|
81
|
+
<part name="parameters" element="platformMsgs:changeEmailResponse"/>
|
72
82
|
</message>
|
73
83
|
<message name="logoutRequest">
|
74
84
|
<part name="parameters" element="platformMsgs:logout"/>
|
@@ -214,6 +224,18 @@
|
|
214
224
|
<message name="getConsolidatedExchangeRateResponse">
|
215
225
|
<part name="parameters" element="platformMsgs:getConsolidatedExchangeRateResponse"/>
|
216
226
|
</message>
|
227
|
+
<message name="getCurrencyRateRequest">
|
228
|
+
<part name="parameters" element="platformMsgs:getCurrencyRate"/>
|
229
|
+
</message>
|
230
|
+
<message name="getCurrencyRateResponse">
|
231
|
+
<part name="parameters" element="platformMsgs:getCurrencyRateResponse"/>
|
232
|
+
</message>
|
233
|
+
<message name="getDataCenterUrlsRequest">
|
234
|
+
<part name="parameters" element="platformMsgs:getDataCenterUrls"/>
|
235
|
+
</message>
|
236
|
+
<message name="getDataCenterUrlsResponse">
|
237
|
+
<part name="parameters" element="platformMsgs:getDataCenterUrlsResponse"/>
|
238
|
+
</message>
|
217
239
|
<message name="getPostingTransactionSummaryRequest">
|
218
240
|
<part name="parameters" element="platformMsgs:getPostingTransactionSummary"/>
|
219
241
|
</message>
|
@@ -374,9 +396,19 @@
|
|
374
396
|
<fault name="ExceededRequestLimitFault" message="tns:ExceededRequestLimitFault"/>
|
375
397
|
<fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
|
376
398
|
</operation>
|
377
|
-
<operation name="
|
378
|
-
<input name="
|
379
|
-
<output name="
|
399
|
+
<operation name="changePassword">
|
400
|
+
<input name="changePasswordRequest" message="tns:changePasswordRequest"/>
|
401
|
+
<output name="changePasswordResponse" message="tns:changePasswordResponse"/>
|
402
|
+
<fault name="InsufficientPermissionFault" message="tns:InsufficientPermissionFault"/>
|
403
|
+
<fault name="InvalidAccountFault" message="tns:InvalidAccountFault"/>
|
404
|
+
<fault name="InvalidCredentialsFault" message="tns:InvalidCredentialsFault"/>
|
405
|
+
<fault name="InvalidVersionFault" message="tns:InvalidVersionFault"/>
|
406
|
+
<fault name="ExceededRequestLimitFault" message="tns:ExceededRequestLimitFault"/>
|
407
|
+
<fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
|
408
|
+
</operation>
|
409
|
+
<operation name="changeEmail">
|
410
|
+
<input name="changeEmailRequest" message="tns:changeEmailRequest"/>
|
411
|
+
<output name="changeEmailResponse" message="tns:changeEmailResponse"/>
|
380
412
|
<fault name="InsufficientPermissionFault" message="tns:InsufficientPermissionFault"/>
|
381
413
|
<fault name="InvalidAccountFault" message="tns:InvalidAccountFault"/>
|
382
414
|
<fault name="InvalidCredentialsFault" message="tns:InvalidCredentialsFault"/>
|
@@ -642,6 +674,23 @@
|
|
642
674
|
<fault name="ExceededRequestSizeFault" message="tns:ExceededRequestSizeFault"/>
|
643
675
|
<fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
|
644
676
|
</operation>
|
677
|
+
<operation name="getCurrencyRate">
|
678
|
+
<input name="getCurrencyRateRequest" message="tns:getCurrencyRateRequest"/>
|
679
|
+
<output name="getCurrencyRateResponse" message="tns:getCurrencyRateResponse"/>
|
680
|
+
<fault name="InvalidSessionFault" message="tns:InvalidSessionFault"/>
|
681
|
+
<fault name="InvalidCredentialsFault" message="tns:InvalidCredentialsFault"/>
|
682
|
+
<fault name="ExceededRequestLimitFault" message="tns:ExceededRequestLimitFault"/>
|
683
|
+
<fault name="ExceededUsageLimitFault" message="tns:ExceededUsageLimitFault"/>
|
684
|
+
<fault name="ExceededRecordCountFault" message="tns:ExceededRecordCountFault"/>
|
685
|
+
<fault name="ExceededRequestSizeFault" message="tns:ExceededRequestSizeFault"/>
|
686
|
+
<fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
|
687
|
+
</operation>
|
688
|
+
<operation name="getDataCenterUrls">
|
689
|
+
<input name="getDataCenterUrlsRequest" message="tns:getDataCenterUrlsRequest"/>
|
690
|
+
<output name="getDataCenterUrlsResponse" message="tns:getDataCenterUrlsResponse"/>
|
691
|
+
<fault name="ExceededRequestSizeFault" message="tns:ExceededRequestSizeFault"/>
|
692
|
+
<fault name="UnexpectedErrorFault" message="tns:UnexpectedErrorFault"/>
|
693
|
+
</operation>
|
645
694
|
<operation name="getPostingTransactionSummary">
|
646
695
|
<input name="getPostingTransactionSummaryRequest" message="tns:getPostingTransactionSummaryRequest"/>
|
647
696
|
<output name="getPostingTransactionSummaryResponse" message="tns:getPostingTransactionSummaryResponse"/>
|
@@ -899,15 +948,15 @@
|
|
899
948
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
900
949
|
</fault>
|
901
950
|
</operation>
|
902
|
-
<operation name="
|
903
|
-
<soap:operation soapAction="
|
904
|
-
<input name="
|
951
|
+
<operation name="changePassword">
|
952
|
+
<soap:operation soapAction="changePassword"/>
|
953
|
+
<input name="changePasswordRequest">
|
905
954
|
<soap:header message="tns:headers" part="passport" use="literal"/>
|
906
955
|
<soap:header message="tns:headers" part="applicationInfo" use="literal"/>
|
907
956
|
<soap:header message="tns:headers" part="partnerInfo" use="literal"/>
|
908
957
|
<soap:body use="literal"/>
|
909
958
|
</input>
|
910
|
-
<output name="
|
959
|
+
<output name="changePasswordResponse">
|
911
960
|
<soap:body use="literal"/>
|
912
961
|
</output>
|
913
962
|
<fault name="InsufficientPermissionFault">
|
@@ -929,6 +978,36 @@
|
|
929
978
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
930
979
|
</fault>
|
931
980
|
</operation>
|
981
|
+
<operation name="changeEmail">
|
982
|
+
<soap:operation soapAction="changeEmail"/>
|
983
|
+
<input name="changeEmailRequest">
|
984
|
+
<soap:header message="tns:headers" part="passport" use="literal"/>
|
985
|
+
<soap:header message="tns:headers" part="applicationInfo" use="literal"/>
|
986
|
+
<soap:header message="tns:headers" part="partnerInfo" use="literal"/>
|
987
|
+
<soap:body use="literal"/>
|
988
|
+
</input>
|
989
|
+
<output name="changeEmailResponse">
|
990
|
+
<soap:body use="literal"/>
|
991
|
+
</output>
|
992
|
+
<fault name="InsufficientPermissionFault">
|
993
|
+
<soap:fault name="InsufficientPermissionFault" use="literal"/>
|
994
|
+
</fault>
|
995
|
+
<fault name="InvalidAccountFault">
|
996
|
+
<soap:fault name="InvalidAccountFault" use="literal"/>
|
997
|
+
</fault>
|
998
|
+
<fault name="InvalidCredentialsFault">
|
999
|
+
<soap:fault name="InvalidCredentialsFault" use="literal"/>
|
1000
|
+
</fault>
|
1001
|
+
<fault name="InvalidVersionFault">
|
1002
|
+
<soap:fault name="InvalidVersionFault" use="literal"/>
|
1003
|
+
</fault>
|
1004
|
+
<fault name="ExceededRequestLimitFault">
|
1005
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
1006
|
+
</fault>
|
1007
|
+
<fault name="UnexpectedErrorFault">
|
1008
|
+
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
1009
|
+
</fault>
|
1010
|
+
</operation>
|
932
1011
|
<operation name="logout">
|
933
1012
|
<soap:operation soapAction="logout"/>
|
934
1013
|
<input name="logoutRequest">
|
@@ -1740,6 +1819,61 @@
|
|
1740
1819
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
1741
1820
|
</fault>
|
1742
1821
|
</operation>
|
1822
|
+
<operation name="getCurrencyRate">
|
1823
|
+
<soap:operation soapAction="getCurrencyRate"/>
|
1824
|
+
<input name="getCurrencyRateRequest">
|
1825
|
+
<soap:header message="tns:headers" part="passport" use="literal"/>
|
1826
|
+
<soap:header message="tns:headers" part="applicationInfo" use="literal"/>
|
1827
|
+
<soap:header message="tns:headers" part="partnerInfo" use="literal"/>
|
1828
|
+
<soap:header message="tns:headers" part="preferences" use="literal"/>
|
1829
|
+
<soap:body use="literal"/>
|
1830
|
+
</input>
|
1831
|
+
<output name="getCurrencyRateResponse">
|
1832
|
+
<soap:header message="tns:headers" part="documentInfo" use="literal"/>
|
1833
|
+
<soap:body use="literal"/>
|
1834
|
+
</output>
|
1835
|
+
<fault name="InvalidSessionFault">
|
1836
|
+
<soap:fault name="InvalidSessionFault" use="literal"/>
|
1837
|
+
</fault>
|
1838
|
+
<fault name="InvalidCredentialsFault">
|
1839
|
+
<soap:fault name="InvalidCredentialsFault" use="literal"/>
|
1840
|
+
</fault>
|
1841
|
+
<fault name="ExceededRequestLimitFault">
|
1842
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
1843
|
+
</fault>
|
1844
|
+
<fault name="ExceededUsageLimitFault">
|
1845
|
+
<soap:fault name="ExceededUsageLimitFault" use="literal"/>
|
1846
|
+
</fault>
|
1847
|
+
<fault name="ExceededRecordCountFault">
|
1848
|
+
<soap:fault name="ExceededRecordCountFault" use="literal"/>
|
1849
|
+
</fault>
|
1850
|
+
<fault name="ExceededRequestSizeFault">
|
1851
|
+
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
1852
|
+
</fault>
|
1853
|
+
<fault name="UnexpectedErrorFault">
|
1854
|
+
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
1855
|
+
</fault>
|
1856
|
+
</operation>
|
1857
|
+
<operation name="getDataCenterUrls">
|
1858
|
+
<soap:operation soapAction="getDataCenterUrls"/>
|
1859
|
+
<input name="getDataCenterUrlsRequest">
|
1860
|
+
<soap:header message="tns:headers" part="passport" use="literal"/>
|
1861
|
+
<soap:header message="tns:headers" part="applicationInfo" use="literal"/>
|
1862
|
+
<soap:header message="tns:headers" part="partnerInfo" use="literal"/>
|
1863
|
+
<soap:header message="tns:headers" part="preferences" use="literal"/>
|
1864
|
+
<soap:body use="literal"/>
|
1865
|
+
</input>
|
1866
|
+
<output name="getDataCenterUrlsResponse">
|
1867
|
+
<soap:header message="tns:headers" part="documentInfo" use="literal"/>
|
1868
|
+
<soap:body use="literal"/>
|
1869
|
+
</output>
|
1870
|
+
<fault name="ExceededRequestSizeFault">
|
1871
|
+
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
1872
|
+
</fault>
|
1873
|
+
<fault name="UnexpectedErrorFault">
|
1874
|
+
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
1875
|
+
</fault>
|
1876
|
+
</operation>
|
1743
1877
|
<operation name="getPostingTransactionSummary">
|
1744
1878
|
<soap:operation soapAction="getPostingTransactionSummary"/>
|
1745
1879
|
<input name="getPostingTransactionSummaryRequest">
|
@@ -1969,7 +2103,7 @@
|
|
1969
2103
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
1970
2104
|
</fault>
|
1971
2105
|
<fault name="ExceededRequestLimitFault">
|
1972
|
-
<soap:fault name="
|
2106
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
1973
2107
|
</fault>
|
1974
2108
|
<fault name="UnexpectedErrorFault">
|
1975
2109
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2001,7 +2135,7 @@
|
|
2001
2135
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
2002
2136
|
</fault>
|
2003
2137
|
<fault name="ExceededRequestLimitFault">
|
2004
|
-
<soap:fault name="
|
2138
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2005
2139
|
</fault>
|
2006
2140
|
<fault name="UnexpectedErrorFault">
|
2007
2141
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2033,7 +2167,7 @@
|
|
2033
2167
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
2034
2168
|
</fault>
|
2035
2169
|
<fault name="ExceededRequestLimitFault">
|
2036
|
-
<soap:fault name="
|
2170
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2037
2171
|
</fault>
|
2038
2172
|
<fault name="UnexpectedErrorFault">
|
2039
2173
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2065,7 +2199,7 @@
|
|
2065
2199
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
2066
2200
|
</fault>
|
2067
2201
|
<fault name="ExceededRequestLimitFault">
|
2068
|
-
<soap:fault name="
|
2202
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2069
2203
|
</fault>
|
2070
2204
|
<fault name="UnexpectedErrorFault">
|
2071
2205
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2097,7 +2231,7 @@
|
|
2097
2231
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
2098
2232
|
</fault>
|
2099
2233
|
<fault name="ExceededRequestLimitFault">
|
2100
|
-
<soap:fault name="
|
2234
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2101
2235
|
</fault>
|
2102
2236
|
<fault name="UnexpectedErrorFault">
|
2103
2237
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2164,7 +2298,7 @@
|
|
2164
2298
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
2165
2299
|
</fault>
|
2166
2300
|
<fault name="ExceededRequestLimitFault">
|
2167
|
-
<soap:fault name="
|
2301
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2168
2302
|
</fault>
|
2169
2303
|
<fault name="UnexpectedErrorFault">
|
2170
2304
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2228,7 +2362,7 @@
|
|
2228
2362
|
<soap:fault name="InvalidCredentialsFault" use="literal"/>
|
2229
2363
|
</fault>
|
2230
2364
|
<fault name="ExceededRequestLimitFault">
|
2231
|
-
<soap:fault name="
|
2365
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2232
2366
|
</fault>
|
2233
2367
|
<fault name="UnexpectedErrorFault">
|
2234
2368
|
<soap:fault name="UnexpectedErrorFault" use="literal"/>
|
@@ -2263,7 +2397,7 @@
|
|
2263
2397
|
<soap:fault name="ExceededRecordCountFault" use="literal"/>
|
2264
2398
|
</fault>
|
2265
2399
|
<fault name="ExceededRequestLimitFault">
|
2266
|
-
<soap:fault name="
|
2400
|
+
<soap:fault name="ExceededRequestLimitFault" use="literal"/>
|
2267
2401
|
</fault>
|
2268
2402
|
<fault name="ExceededRequestSizeFault">
|
2269
2403
|
<soap:fault name="ExceededRequestSizeFault" use="literal"/>
|
@@ -2275,7 +2409,7 @@
|
|
2275
2409
|
</binding>
|
2276
2410
|
<service name="NetSuiteService">
|
2277
2411
|
<port name="NetSuitePort" binding="tns:NetSuiteBinding">
|
2278
|
-
<soap:address location="https://webservices.netsuite.com/services/
|
2412
|
+
<soap:address location="https://webservices.netsuite.com/services/NetSuitePort_2015_1"/>
|
2279
2413
|
</port>
|
2280
2414
|
</service>
|
2281
2415
|
</definitions>
|