portfoliomanager-rb 0.0.1
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.
- checksums.yaml +7 -0
- data/.gitignore +11 -0
- data/.rspec +3 -0
- data/.ruby-version +1 -0
- data/.travis.yml +6 -0
- data/.yardopts +1 -0
- data/CHANGELOG.md +15 -0
- data/Gemfile +8 -0
- data/Gemfile.lock +42 -0
- data/LICENSE.txt +30 -0
- data/README.md +92 -0
- data/Rakefile +6 -0
- data/WARRANTY.txt +22 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/portfolio_manager/client.rb +199 -0
- data/lib/portfolio_manager/mapper.rb +14 -0
- data/lib/portfolio_manager/mapping_registry.rb +7326 -0
- data/lib/portfolio_manager/services/all.rb +30 -0
- data/lib/portfolio_manager/services/basic_account.rb +301 -0
- data/lib/portfolio_manager/services/building.rb +158 -0
- data/lib/portfolio_manager/services/connection.rb +386 -0
- data/lib/portfolio_manager/services/meter.rb +955 -0
- data/lib/portfolio_manager/services/property.rb +931 -0
- data/lib/portfolio_manager/services/property_use.rb +306 -0
- data/lib/portfolio_manager/services/reporting.rb +208 -0
- data/lib/portfolio_manager/services/target_finder.rb +76 -0
- data/lib/portfolio_manager/services.rb +21 -0
- data/lib/portfolio_manager/version.rb +3 -0
- data/lib/portfolio_manager/xml.rb +9221 -0
- data/lib/portfolio_manager.rb +15 -0
- data/portfoliomanager.gemspec +28 -0
- metadata +104 -0
@@ -0,0 +1,386 @@
|
|
1
|
+
require "net/http"
|
2
|
+
|
3
|
+
module PortfolioManager
|
4
|
+
module Services
|
5
|
+
# Connection/Share Services
|
6
|
+
#
|
7
|
+
# The Connection/Share Services allows you to connect to existing Portfolio
|
8
|
+
# Manager accounts and share existing properties and meters. These services
|
9
|
+
# are divided into 2 sections.The first section includes services that allow
|
10
|
+
# you to respond to connection and share requests from existing Portfolio
|
11
|
+
# Manager users. In addition, there are services that allow you to
|
12
|
+
# disconnect from a user or remove any property or meter shares from a user.
|
13
|
+
# The second section includes services that will help you test the
|
14
|
+
# connection/share process within the Test environment. These services allow
|
15
|
+
# you to generate connection and share requests that are sent to you. This
|
16
|
+
# simulates the requests being submitted from other Portfolio Manager users.
|
17
|
+
# In addition, as you simulate generating these requests from other
|
18
|
+
# Portfolio Manager users, you will be able to submit values to custom
|
19
|
+
# fields that you define with each request. This set of web services are
|
20
|
+
# only available within the Test environment.
|
21
|
+
#
|
22
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection
|
23
|
+
module Connection
|
24
|
+
# Connection/Share
|
25
|
+
module ConnectionShare
|
26
|
+
# Live Environment
|
27
|
+
module Live
|
28
|
+
# Accept/Reject Pending Connection Requests
|
29
|
+
#
|
30
|
+
# This web service sends an accept or reject reply to a pending
|
31
|
+
# connection request along with an optional note based on the
|
32
|
+
# information provided in the XML request.
|
33
|
+
#
|
34
|
+
# @param account_id [Integer]
|
35
|
+
# @param sharing_response [PortfolioManager::Xml::SharingResponseType]
|
36
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
37
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
38
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
39
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/connect/post
|
40
|
+
def accept_reject_pending_connection_requests(account_id, sharing_response)
|
41
|
+
request(Net::HTTP::Post, path_for("connect", "account", account_id), {}, {}, sharing_response, "sharingResponse", PortfolioManager::Xml::SharingResponseType, basic_auth: true)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Accept/Reject Pending Meter Share Requests
|
45
|
+
#
|
46
|
+
# This web service sends an accept or reject reply to a pending meter
|
47
|
+
# share request along with an optional note based on the information
|
48
|
+
# provided in the XML request.
|
49
|
+
#
|
50
|
+
# @param meter_id [Integer]
|
51
|
+
# @param sharing_response [PortfolioManager::Xml::SharingResponseType]
|
52
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
53
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
54
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
55
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/shareMeter/post
|
56
|
+
def accept_reject_pending_meter_share_requests(meter_id, sharing_response)
|
57
|
+
request(Net::HTTP::Post, path_for("share", "meter", meter_id), {}, {}, sharing_response, "sharingResponse", PortfolioManager::Xml::SharingResponseType, basic_auth: true)
|
58
|
+
end
|
59
|
+
|
60
|
+
# Accept/Reject Pending Property Share Requests
|
61
|
+
#
|
62
|
+
# This web service sends an accept or reject reply to a pending
|
63
|
+
# property share request along with an optional note based on the
|
64
|
+
# information provided in the XML request.
|
65
|
+
#
|
66
|
+
# @param property_id [Integer]
|
67
|
+
# @param sharing_response [PortfolioManager::Xml::SharingResponseType]
|
68
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
69
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
70
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
71
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/shareProperty/post
|
72
|
+
def accept_reject_pending_property_share_requests(property_id, sharing_response)
|
73
|
+
request(Net::HTTP::Post, path_for("share", "property", property_id), {}, {}, sharing_response, "sharingResponse", PortfolioManager::Xml::SharingResponseType, basic_auth: true)
|
74
|
+
end
|
75
|
+
|
76
|
+
# Disconnect From Customer
|
77
|
+
#
|
78
|
+
# This web service removes the existing connection between you and a
|
79
|
+
# specific customer. Any existing property and meter shares between
|
80
|
+
# you and the specific customer are also automatically removed by
|
81
|
+
# default or can be kept in place. An optional note indicating the
|
82
|
+
# reason can be included too. This optional note is provided in the
|
83
|
+
# XML request.
|
84
|
+
#
|
85
|
+
# @param account_id [Integer]
|
86
|
+
# @param terminate_sharing_response [PortfolioManager::Xml::TerminateShareResponseType]
|
87
|
+
# @param keep_shares [Boolean]
|
88
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
89
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
90
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
91
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/disconnect/post
|
92
|
+
def disconnect_from_customer(account_id, terminate_sharing_response, keep_shares = false)
|
93
|
+
request(Net::HTTP::Post, path_for("disconnect", "account", account_id), {
|
94
|
+
"keepShares" => keep_shares,
|
95
|
+
}, {}, terminate_sharing_response, "terminateSharingResponse", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
96
|
+
end
|
97
|
+
|
98
|
+
# Get Notifications
|
99
|
+
#
|
100
|
+
# This web service returns a list of notifications that are generated
|
101
|
+
# when another user deletes or unshares a property or meter that you
|
102
|
+
# have access to. The purpose of these notifications is to help you
|
103
|
+
# stay in synch with your customer's data. Once a notification is
|
104
|
+
# read, it is marked as read (by default) and will not be available in
|
105
|
+
# subsequent calls. An option is available to mark those notifications
|
106
|
+
# as unread.
|
107
|
+
#
|
108
|
+
# The possible notification types are:
|
109
|
+
# * UNSHARE - Indicates that your access to a property or meter has been removed.
|
110
|
+
# * SHAREUPDATE - Indicates that your access level to a property or meter has changed.
|
111
|
+
#
|
112
|
+
# The DISCONNECT and TRANSFERPROPERTY notification types are not
|
113
|
+
# supported in the Test environment.
|
114
|
+
#
|
115
|
+
# Please see this {https://energystar-mesa.force.com/PortfolioManager/s/article/How-does-the-Get-Notifications-API-call-behave-differently-in-the-TEST-and-LIVE-web-service-environments FAQ page}
|
116
|
+
# for more information.
|
117
|
+
#
|
118
|
+
# @param clear [Boolean]
|
119
|
+
# @return [PortfolioManager::Xml::NotificationListType, PortfolioManager::Xml::ResponseType]
|
120
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
121
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
122
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/notificationList/get
|
123
|
+
def get_notifications(clear = true)
|
124
|
+
request(Net::HTTP::Get, path_for("notification", "list"), {
|
125
|
+
"clear" => clear,
|
126
|
+
}, {}, nil, nil, PortfolioManager::Xml::NotificationListType, basic_auth: true)
|
127
|
+
end
|
128
|
+
|
129
|
+
# Get Pending Connection Requests
|
130
|
+
#
|
131
|
+
# This web service returns a list of pending customer connection
|
132
|
+
# requests. A connection to the customer must be established first
|
133
|
+
# before any properties and meters can be shared with you. The list of
|
134
|
+
# pending customer connection requests is returned in sets of 20.
|
135
|
+
#
|
136
|
+
# @param page [Integer]
|
137
|
+
# @return [PortfolioManager::Xml::PendingListType, PortfolioManager::Xml::ResponseType]
|
138
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
139
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
140
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/pendingAccountList/get
|
141
|
+
def get_pending_connection_requests(page = 1)
|
142
|
+
request(Net::HTTP::Get, path_for("connect", "account", "pending", "list"), {
|
143
|
+
"page" => page,
|
144
|
+
}, {}, nil, nil, PortfolioManager::Xml::PendingListType, basic_auth: true)
|
145
|
+
end
|
146
|
+
|
147
|
+
# Get Pending Meter Share Requests
|
148
|
+
#
|
149
|
+
# This web service returns a list of pending property meter requests.
|
150
|
+
# These meter share requests belong to customers that you are already
|
151
|
+
# connected to. The corresponding properties do not have to be already
|
152
|
+
# shared with you. The list of pending meter share requests is
|
153
|
+
# returned in sets of 20.
|
154
|
+
#
|
155
|
+
# @param page [Integer]
|
156
|
+
# @return [PortfolioManager::Xml::PendingListType, PortfolioManager::Xml::ResponseType]
|
157
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
158
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
159
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/pendingMeterList/get
|
160
|
+
def get_pending_meter_share_requests(page = 1)
|
161
|
+
request(Net::HTTP::Get, path_for("share", "meter", "pending", "list"), {
|
162
|
+
"page" => page,
|
163
|
+
}, {}, nil, nil, PortfolioManager::Xml::PendingListType, basic_auth: true)
|
164
|
+
end
|
165
|
+
|
166
|
+
# Get Pending Property Share Requests
|
167
|
+
#
|
168
|
+
# This web service returns a list of pending property share requests.
|
169
|
+
# These property share requests belong to customers that you are
|
170
|
+
# already connected to. The list of pending property share requests is
|
171
|
+
# returned in sets of 20.
|
172
|
+
#
|
173
|
+
# @param page [Integer]
|
174
|
+
# @return [PortfolioManager::Xml::PendingListType, PortfolioManager::Xml::ResponseType]
|
175
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
176
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
177
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/pendingPropertyList/get
|
178
|
+
def get_pending_property_share_requests(page = 1)
|
179
|
+
request(Net::HTTP::Get, path_for("share", "property", "pending", "list"), {
|
180
|
+
"page" => page,
|
181
|
+
}, {}, nil, nil, PortfolioManager::Xml::PendingListType, basic_auth: true)
|
182
|
+
end
|
183
|
+
|
184
|
+
# Unshare Meter
|
185
|
+
#
|
186
|
+
# This web service removes an existing share between you and a
|
187
|
+
# specific meter. An optional note indicating the reason can be
|
188
|
+
# included too. This optional note is provided in the XML request.
|
189
|
+
#
|
190
|
+
# @param meter_id [Integer]
|
191
|
+
# @param terminate_sharing_response [TerminateShareResponseType]
|
192
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
193
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
194
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
195
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/unshareMeter/post
|
196
|
+
def unshare_meter(meter_id, terminate_sharing_response)
|
197
|
+
request(Net::HTTP::Post, path_for("unshare", "meter", meter_id), {}, {}, terminate_sharing_response, "terminateSharingResponse", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
198
|
+
end
|
199
|
+
|
200
|
+
# Unshare Property
|
201
|
+
#
|
202
|
+
# This web service removes an existing share between you and a
|
203
|
+
# specific property. An optional note indicating the reason can be
|
204
|
+
# included too. This optional note is provided in the XML request.
|
205
|
+
#
|
206
|
+
# @param property_id [Integer]
|
207
|
+
# @param terminate_sharing_response [TerminateShareResponseType]
|
208
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
209
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
210
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
211
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/api/connection/unshareProperty/post
|
212
|
+
def unshare_property(property_id, terminate_sharing_response)
|
213
|
+
request(Net::HTTP::Post, path_for("unshare", "property", property_id), {}, {}, terminate_sharing_response, "terminateSharingResponse", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
214
|
+
end
|
215
|
+
end
|
216
|
+
|
217
|
+
# Test Environment
|
218
|
+
module Test
|
219
|
+
end
|
220
|
+
end
|
221
|
+
|
222
|
+
# Simulating Connection/Share Requests
|
223
|
+
module SimulatingConnectionShareRequests
|
224
|
+
# Live Environment
|
225
|
+
module Live
|
226
|
+
end
|
227
|
+
|
228
|
+
# Test Environment
|
229
|
+
module Test
|
230
|
+
# Send Connection Request From Test Environment
|
231
|
+
#
|
232
|
+
# This web service sends a connection request from a customer to you.
|
233
|
+
# You must run this web service as the customer that you want the
|
234
|
+
# connection request to originate from and specify the account that
|
235
|
+
# receives the request. This simulates the customer sending a
|
236
|
+
# connection request to you. This web service is only available in the
|
237
|
+
# Test environment. After a connection request is sent, you can verify
|
238
|
+
# it by running the web service that returns a list of pending
|
239
|
+
# customer connections. A connection request cannot be sent if the two
|
240
|
+
# accounts are already connected.
|
241
|
+
#
|
242
|
+
# @param dx_account_id [Integer]
|
243
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
244
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
245
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
246
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/invite/post
|
247
|
+
def send_connection_request_from_test_environment(dx_account_id)
|
248
|
+
request(Net::HTTP::Post, path_for("invite", "account", dx_account_id), {}, {}, nil, nil, PortfolioManager::Xml::ResponseType, basic_auth: true)
|
249
|
+
end
|
250
|
+
|
251
|
+
# Send Meter Share Request From Test Environment
|
252
|
+
#
|
253
|
+
# This web service sends a share request for a specific meter from a
|
254
|
+
# customer to you. You must run this web service as the customer that
|
255
|
+
# you want the meter share request to originate from and specify the
|
256
|
+
# account that receives the request. This simulates the customer
|
257
|
+
# sending a meter share request to you. Any existing share for this
|
258
|
+
# specific meter between you and this customer will be updated after
|
259
|
+
# submitting this service. If a meter share is pending
|
260
|
+
# acceptance/rejection, additional share requests cannot be sent. This
|
261
|
+
# web service is only available in the Test environment. After the
|
262
|
+
# meter share request is sent, you can verify it by running the web
|
263
|
+
# service that returns a list of pending meter share requests.
|
264
|
+
#
|
265
|
+
# @param dx_account_id [Integer]
|
266
|
+
# @param meter_id [Integer]
|
267
|
+
# @param access_level ["READ", "READ_WRITE"]
|
268
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
269
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
270
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
271
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/inviteMeter/post
|
272
|
+
def send_meter_share_request_from_test_environment(dx_account_id, meter_id, access_level = "READ_WRITE")
|
273
|
+
request(Net::HTTP::Post, path_for("invite", "account", dx_account_id, "meter", meter_id), {
|
274
|
+
"accessLevel" => access_level,
|
275
|
+
}, {}, nil, nil, PortfolioManager::Xml::ResponseType, basic_auth: true)
|
276
|
+
end
|
277
|
+
|
278
|
+
# Send Property Share Request From Test Environment
|
279
|
+
#
|
280
|
+
# This web service sends a share request for a specific property from
|
281
|
+
# a customer to you. You must run this web service as the customer
|
282
|
+
# that you want the property share request to originate from and
|
283
|
+
# specify the account that receives the request. This simulates the
|
284
|
+
# customer sending a property share request to you. Any existing share
|
285
|
+
# for this specific property between you and this customer will be
|
286
|
+
# updated after submitting this service. If a property share is
|
287
|
+
# pending acceptance/rejection, additional share requests cannot be
|
288
|
+
# sent. This web service is only available in the Test environment.
|
289
|
+
# After the property share request is sent, you can verify it by
|
290
|
+
# running the web service that returns a list of pending property
|
291
|
+
# share requests.
|
292
|
+
#
|
293
|
+
# @param dx_account_id [Integer]
|
294
|
+
# @param property_id [Integer]
|
295
|
+
# @param access_level ["READ", "READ_WRITE"]
|
296
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
297
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
298
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
299
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/inviteProperty/post
|
300
|
+
def send_meter_share_request_from_test_environment(dx_account_id, property_id, access_level = "READ_WRITE")
|
301
|
+
request(Net::HTTP::Post, path_for("invite", "account", dx_account_id, "property", property_id), {
|
302
|
+
"accessLevel" => access_level,
|
303
|
+
}, {}, nil, nil, PortfolioManager::Xml::ResponseType, basic_auth: true)
|
304
|
+
end
|
305
|
+
|
306
|
+
# Submit Customer-Level Custom Field Value(s)
|
307
|
+
#
|
308
|
+
# This web service submits data for a list of customer-level custom
|
309
|
+
# fields based on the data provided in the XML request from a specific
|
310
|
+
# Portfolio Manager customer to you. This web service is used within
|
311
|
+
# the Test environment to simulate a Portfolio Manager user providing
|
312
|
+
# data that is required by you during the connection process. You must
|
313
|
+
# run this web service as the customer that you the data to be
|
314
|
+
# provided from.
|
315
|
+
#
|
316
|
+
# @param dx_account_id [Integer]
|
317
|
+
# @param custom_field_list [PortfolioManager::Xml::CustomFieldList]
|
318
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
319
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
320
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
321
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/accountCustomFieldValues/put
|
322
|
+
def submit_customer_level_custom_field_values(dx_account_id, custom_field_list)
|
323
|
+
request(Net::HTTP::Put, path_for("account", "customFieldList", "recipient", dx_account_id), {}, {}, custom_field_list, "customFieldList", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
324
|
+
end
|
325
|
+
|
326
|
+
# Submit Meter-Level Custom Field Value(s)
|
327
|
+
#
|
328
|
+
# This web service submits data for a list of meter-level custom
|
329
|
+
# fields based on the data provided in the XML request from a specific
|
330
|
+
# Portfolio Manager customer to you. This web service is used within
|
331
|
+
# the Test environment to simulate a Portfolio Manager user providing
|
332
|
+
# data that is required by you during the share process. You must run
|
333
|
+
# this web service as the customer that you the data to be provided
|
334
|
+
# from.
|
335
|
+
#
|
336
|
+
# @param meter_id [Integer]
|
337
|
+
# @param dx_account_id [Integer]
|
338
|
+
# @param custom_field_list [PortfolioManager::Xml::CustomFieldList]
|
339
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
340
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
341
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
342
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/meterCustomFieldValues/put
|
343
|
+
def submit_meter_level_custom_field_values(meter_id, dx_account_id, custom_field_list)
|
344
|
+
request(Net::HTTP::Put, path_for("meter", meter_id, "customFieldList", "recipient", dx_account_id), {}, {}, custom_field_list, "customFieldList", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
345
|
+
end
|
346
|
+
|
347
|
+
# Submit Property-Level Custom Field Value(s)
|
348
|
+
#
|
349
|
+
# This web service submits data for a list of property-level custom
|
350
|
+
# fields based on the data provided in the XML request from a specific
|
351
|
+
# Portfolio Manager customer to you. This web service is used within
|
352
|
+
# the Test environment to simulate a Portfolio Manager user providing
|
353
|
+
# data that is required by you during the share process. You must run
|
354
|
+
# this web service as the customer that you the data to be provided
|
355
|
+
# from.
|
356
|
+
#
|
357
|
+
# @param property_id [Integer]
|
358
|
+
# @param dx_account_id [Integer]
|
359
|
+
# @param custom_field_list [PortfolioManager::Xml::CustomFieldList]
|
360
|
+
# @return [PortfolioManager::Xml::ResponseType]
|
361
|
+
# @raise [PortfolioManager::HTTPBasicCredentialsNotFoundError]
|
362
|
+
# @raise [PortfolioManager::HTTPResponseError]
|
363
|
+
# @see https://portfoliomanager.energystar.gov/webservices/home/test/api/connection/propertyCustomFieldValues/put
|
364
|
+
def submit_property_level_custom_field_values(property_id, dx_account_id, custom_field_list)
|
365
|
+
request(Net::HTTP::Put, path_for("property", property_id, "customFieldList", "recipient", dx_account_id), {}, {}, custom_field_list, "customFieldList", PortfolioManager::Xml::ResponseType, basic_auth: true)
|
366
|
+
end
|
367
|
+
end
|
368
|
+
end
|
369
|
+
|
370
|
+
# All Connection/Share Services
|
371
|
+
module All
|
372
|
+
# Live Environment
|
373
|
+
module Live
|
374
|
+
include PortfolioManager::Services::Connection::ConnectionShare::Live
|
375
|
+
include PortfolioManager::Services::Connection::SimulatingConnectionShareRequests::Live
|
376
|
+
end
|
377
|
+
|
378
|
+
# Test Environment
|
379
|
+
module Test
|
380
|
+
include PortfolioManager::Services::Connection::ConnectionShare::Test
|
381
|
+
include PortfolioManager::Services::Connection::SimulatingConnectionShareRequests::Test
|
382
|
+
end
|
383
|
+
end
|
384
|
+
end
|
385
|
+
end
|
386
|
+
end
|