blob: 39d6681bf9267cb473526052060c2e699bb229e2 [file] [log] [blame]
Takashi Matsuo06694102015-09-11 13:55:40 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
75<h1><a href="proximitybeacon_v1beta1.html">Google Proximity Beacon API</a> . <a href="proximitybeacon_v1beta1.beacons.html">beacons</a></h1>
76<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="proximitybeacon_v1beta1.beacons.attachments.html">attachments()</a></code>
79</p>
80<p class="firstline">Returns the attachments Resource.</p>
81
82<p class="toc_element">
83 <code><a href="proximitybeacon_v1beta1.beacons.diagnostics.html">diagnostics()</a></code>
84</p>
85<p class="firstline">Returns the diagnostics Resource.</p>
86
87<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070088 <code><a href="#activate">activate(beaconName, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040089<p class="firstline">Activates a beacon. A beacon that is active will return information</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070090<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070091 <code><a href="#deactivate">deactivate(beaconName, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040092<p class="firstline">Deactivates a beacon. Once deactivated, the API will not return</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070093<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070094 <code><a href="#decommission">decommission(beaconName, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040095<p class="firstline">Decommissions the specified beacon in the service. This beacon will no</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070096<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -070097 <code><a href="#delete">delete(beaconName, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -040098<p class="firstline">Deletes the specified beacon including all diagnostics data for the beacon</p>
Takashi Matsuo06694102015-09-11 13:55:40 -070099<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700100 <code><a href="#get">get(beaconName, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400101<p class="firstline">Returns detailed information about the specified beacon.</p>
102<p class="toc_element">
103 <code><a href="#list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</a></code></p>
104<p class="firstline">Searches the beacon registry for beacons that match the given search</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700105<p class="toc_element">
106 <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
107<p class="firstline">Retrieves the next page of results.</p>
108<p class="toc_element">
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700109 <code><a href="#register">register(body, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400110<p class="firstline">Registers a previously unregistered beacon given its `advertisedId`.</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700111<p class="toc_element">
Thomas Coffee2f245372017-03-27 10:39:26 -0700112 <code><a href="#update">update(beaconName, body, projectId=None, x__xgafv=None)</a></code></p>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400113<p class="firstline">Updates the information about the specified beacon. **Any field that you do</p>
Takashi Matsuo06694102015-09-11 13:55:40 -0700114<h3>Method Details</h3>
115<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700116 <code class="details" id="activate">activate(beaconName, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400117 <pre>Activates a beacon. A beacon that is active will return information
118and attachment data when queried via `beaconinfo.getforobserved`.
119Calling this method on an already active beacon will do nothing (but
120will return a successful response code).
121
122Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
123from a signed-in user with **Is owner** or **Can edit** permissions in the
124Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700125
126Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400127 beaconName: string, Beacon that should be activated. A beacon name has the format
128"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
129the beacon and N is a code for the beacon's type. Possible values are
130`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
131for AltBeacon. For Eddystone-EID beacons, you may use either the
132current EID or the beacon's "stable" UID.
133Required. (required)
134 projectId: string, The project id of the beacon to activate. If the project id is not
135specified then the project making the request is used. The project id
136must match the project that owns the beacon.
137Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700138 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400139 Allowed values
140 1 - v1 error format
141 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700142
143Returns:
144 An object of the form:
145
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400146 { # A generic empty message that you can re-use to avoid defining duplicated
147 # empty messages in your APIs. A typical example is to use it as the request
148 # or the response type of an API method. For instance:
149 #
150 # service Foo {
151 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
152 # }
153 #
154 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700155 }</pre>
156</div>
157
158<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700159 <code class="details" id="deactivate">deactivate(beaconName, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400160 <pre>Deactivates a beacon. Once deactivated, the API will not return
161information nor attachment data for the beacon when queried via
162`beaconinfo.getforobserved`. Calling this method on an already inactive
163beacon will do nothing (but will return a successful response code).
164
165Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
166from a signed-in user with **Is owner** or **Can edit** permissions in the
167Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700168
169Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400170 beaconName: string, Beacon that should be deactivated. A beacon name has the format
171"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
172the beacon and N is a code for the beacon's type. Possible values are
173`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
174for AltBeacon. For Eddystone-EID beacons, you may use either the
175current EID or the beacon's "stable" UID.
176Required. (required)
177 projectId: string, The project id of the beacon to deactivate. If the project id is not
178specified then the project making the request is used. The project id must
179match the project that owns the beacon.
180Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700181 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400182 Allowed values
183 1 - v1 error format
184 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700185
186Returns:
187 An object of the form:
188
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400189 { # A generic empty message that you can re-use to avoid defining duplicated
190 # empty messages in your APIs. A typical example is to use it as the request
191 # or the response type of an API method. For instance:
192 #
193 # service Foo {
194 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
195 # }
196 #
197 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700198 }</pre>
199</div>
200
201<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700202 <code class="details" id="decommission">decommission(beaconName, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400203 <pre>Decommissions the specified beacon in the service. This beacon will no
204longer be returned from `beaconinfo.getforobserved`. This operation is
205permanent -- you will not be able to re-register a beacon with this ID
206again.
207
208Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
209from a signed-in user with **Is owner** or **Can edit** permissions in the
210Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700211
212Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400213 beaconName: string, Beacon that should be decommissioned. A beacon name has the format
214"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
215the beacon and N is a code for the beacon's type. Possible values are
216`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
217for AltBeacon. For Eddystone-EID beacons, you may use either the
218current EID of the beacon's "stable" UID.
219Required. (required)
220 projectId: string, The project id of the beacon to decommission. If the project id is not
221specified then the project making the request is used. The project id
222must match the project that owns the beacon.
223Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700224 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400225 Allowed values
226 1 - v1 error format
227 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700228
229Returns:
230 An object of the form:
231
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400232 { # A generic empty message that you can re-use to avoid defining duplicated
233 # empty messages in your APIs. A typical example is to use it as the request
234 # or the response type of an API method. For instance:
235 #
236 # service Foo {
237 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
238 # }
239 #
240 # The JSON representation for `Empty` is empty JSON object `{}`.
Takashi Matsuo06694102015-09-11 13:55:40 -0700241 }</pre>
242</div>
243
244<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700245 <code class="details" id="delete">delete(beaconName, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400246 <pre>Deletes the specified beacon including all diagnostics data for the beacon
247as well as any attachments on the beacon (including those belonging to
248other projects). This operation cannot be undone.
249
250Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
251from a signed-in user with **Is owner** or **Can edit** permissions in the
252Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700253
254Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400255 beaconName: string, Beacon that should be deleted. A beacon name has the format
256"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
257the beacon and N is a code for the beacon's type. Possible values are
258`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
259for AltBeacon. For Eddystone-EID beacons, you may use either the
260current EID or the beacon's "stable" UID.
261Required. (required)
262 projectId: string, The project id of the beacon to delete. If not provided, the project
263that is making the request is used.
264Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700265 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400266 Allowed values
267 1 - v1 error format
268 2 - v2 error format
269
270Returns:
271 An object of the form:
272
273 { # A generic empty message that you can re-use to avoid defining duplicated
274 # empty messages in your APIs. A typical example is to use it as the request
275 # or the response type of an API method. For instance:
276 #
277 # service Foo {
278 # rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
279 # }
280 #
281 # The JSON representation for `Empty` is empty JSON object `{}`.
282 }</pre>
283</div>
284
285<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -0700286 <code class="details" id="get">get(beaconName, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400287 <pre>Returns detailed information about the specified beacon.
288
289Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
290from a signed-in user with **viewer**, **Is owner** or **Can edit**
291permissions in the Google Developers Console project.
292
293Requests may supply an Eddystone-EID beacon name in the form:
294`beacons/4!beaconId` where the `beaconId` is the base16 ephemeral ID
295broadcast by the beacon. The returned `Beacon` object will contain the
296beacon's stable Eddystone-UID. Clients not authorized to resolve the
297beacon's ephemeral Eddystone-EID broadcast will receive an error.
298
299Args:
300 beaconName: string, Resource name of this beacon. A beacon name has the format
301"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
302the beacon and N is a code for the beacon's type. Possible values are
303`3` for Eddystone-UID, `4` for Eddystone-EID, `1` for iBeacon, or `5`
304for AltBeacon. For Eddystone-EID beacons, you may use either the
305current EID or the beacon's "stable" UID.
306Required. (required)
307 projectId: string, The project id of the beacon to request. If the project id is not specified
308then the project making the request is used. The project id must match the
309project that owns the beacon.
310Optional.
311 x__xgafv: string, V1 error format.
312 Allowed values
313 1 - v1 error format
314 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700315
316Returns:
317 An object of the form:
318
319 { # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400320 "status": "A String", # Current status of the beacon.
321 # Required.
322 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
323 # characters.
324 # Optional.
325 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
326 # Google Maps API.
327 # Optional.
328 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -0700329 "name": "A String", # The name of this level.
330 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400331 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
332 # This location is given when the beacon is registered or updated. It does
333 # not necessarily indicate the actual current location of the beacon.
334 # Optional.
335 # of doubles representing degrees latitude and degrees longitude. Unless
336 # specified otherwise, this must conform to the
337 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
338 # standard</a>. Values must be within normalized ranges.
339 #
340 # Example of normalization code in Python:
341 #
342 # def NormalizeLongitude(longitude):
343 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
344 # q, r = divmod(longitude, 360.0)
345 # if r > 180.0 or (r == 180.0 and q <= -1.0):
346 # return r - 360.0
347 # return r
348 #
349 # def NormalizeLatLng(latitude, longitude):
350 # """Wraps decimal degrees latitude and longitude to
351 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
352 # r = latitude % 360.0
353 # if r <= 90.0:
354 # return r, NormalizeLongitude(longitude)
355 # elif r >= 270.0:
356 # return r - 360, NormalizeLongitude(longitude)
357 # else:
358 # return 180 - r, NormalizeLongitude(longitude + 180.0)
359 #
360 # assert 180.0 == NormalizeLongitude(180.0)
361 # assert -180.0 == NormalizeLongitude(-180.0)
362 # assert -179.0 == NormalizeLongitude(181.0)
363 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
364 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
365 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
366 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
367 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
368 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
369 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
370 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
371 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
372 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -0700373 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
374 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
375 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400376 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
377 # the beacon is deployed. This is given when the beacon is registered or
378 # updated, not automatically detected in any way.
379 # Optional.
380 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
381 # (remotely resolved ephemeral ID) format. This information will not be
382 # populated in API responses. When submitting this data, the `advertised_id`
383 # field must contain an ID of type Eddystone-UID. Any other ID type will
384 # result in an error.
385 # Two ways of securely registering an Eddystone-EID beacon with the service
386 # are supported:
387 #
388 # 1. Perform an ECDH key exchange via this API, including a previous call
389 # to `GET /v1beta1/eidparams`. In this case the fields
390 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
391 # populated and `beacon_identity_key` should not be populated. This
392 # method ensures that only the two parties in the ECDH key exchange can
393 # compute the identity key, which becomes a secret between them.
394 # 2. Derive or obtain the beacon's identity key via other secure means
395 # (perhaps an ECDH key exchange between the beacon and a mobile device
396 # or any other secure method), and then submit the resulting identity key
397 # to the service. In this case `beacon_identity_key` field should be
398 # populated, and neither of `beacon_ecdh_public_key` nor
399 # `service_ecdh_public_key` fields should be. The security of this method
400 # depends on how securely the parties involved (in particular the
401 # bluetooth client) handle the identity key, and obviously on how
402 # securely the identity key was generated.
403 #
404 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
405 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
406 # ephemeral ID. "Nominal" because the beacon should randomize the
407 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
408 # for details. This value corresponds to a power-of-two scaler on the
409 # beacon's clock: when the scaler value is K, the beacon will begin
410 # broadcasting a new ephemeral ID on average every 2^K seconds.
411 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
412 # begun counting at this value immediately prior to transmitting this
413 # value to the resolving service. Significant delay in transmitting this
414 # value to the service risks registration or resolution failures. If a
415 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -0700416 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
417 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400418 # must also be populated, and `beacon_identity_key` must not be.
419 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
420 # `initial_clock_value`, and the secret key generated by the
421 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
422 # `service_ecdh_public_key`. This initial EID value will be used by the
423 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -0700424 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
425 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400426 # must also be populated, and `beacon_identity_key` must not be.
427 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
428 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
429 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700430 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400431 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
432 # populated when registering. It may be empty when updating a beacon
433 # record because it is ignored in updates.
434 #
435 # When registering a beacon that broadcasts Eddystone-EID, this field
436 # should contain a "stable" Eddystone-UID that identifies the beacon and
437 # links it to its attachments. The stable Eddystone-UID is only used for
438 # administering the beacon.
439 "type": "A String", # Specifies the identifier type.
440 # Required.
441 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
442 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
443 # requests, and will be so encoded (with padding) in responses. The base64
444 # encoding should be of the binary byte-stream and not any textual (such as
445 # hex) representation thereof.
446 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -0700447 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400448 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
449 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
450 # the beacon and N is a code for the beacon's type. Possible values are
451 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
452 #
453 # This field must be left empty when registering. After reading a beacon,
454 # clients can use the name for future operations.
455 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
456 # updated, not automatically detected in any way.
457 # Optional.
458 "properties": { # Properties of the beacon device, for example battery type or firmware
459 # version.
460 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700461 "a_key": "A String",
462 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400463 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
464 # changing any of its configuration (e.g. broadcast frames, transmit power).
465 # This field provides a place to store and control access to that key.
466 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
467 # from users with write access to the given beacon. That is to say: If the
468 # user is authorized to write the beacon's confidential data in the service,
469 # the service considers them authorized to configure the beacon. Note
470 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -0700471 }</pre>
472</div>
473
474<div class="method">
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400475 <code class="details" id="list">list(pageSize=None, projectId=None, q=None, syntax=None, pageToken=None, x__xgafv=None)</code>
476 <pre>Searches the beacon registry for beacons that match the given search
477criteria. Only those beacons that the client has permission to list
478will be returned.
479
480Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
481from a signed-in user with **viewer**, **Is owner** or **Can edit**
482permissions in the Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700483
484Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400485 pageSize: integer, The maximum number of records to return for this request, up to a
486server-defined upper limit.
487 projectId: string, The project id to list beacons under. If not present then the project
488credential that made the request is used as the project.
489Optional.
490 q: string, Filter query string that supports the following field filters:
491
492* **description:`"<string>"`**
493 For example: **description:"Room 3"**
494 Returns beacons whose description matches tokens in the string "Room 3"
495 (not necessarily that exact string).
496 The string must be double-quoted.
497* **status:`<enum>`**
498 For example: **status:active**
499 Returns beacons whose status matches the given value. Values must be
500 one of the Beacon.Status enum values (case insensitive). Accepts
501 multiple filters which will be combined with OR logic.
502* **stability:`<enum>`**
503 For example: **stability:mobile**
504 Returns beacons whose expected stability matches the given value.
505 Values must be one of the Beacon.Stability enum values (case
506 insensitive). Accepts multiple filters which will be combined with
507 OR logic.
508* **place\_id:`"<string>"`**
509 For example: **place\_id:"ChIJVSZzVR8FdkgRXGmmm6SslKw="**
510 Returns beacons explicitly registered at the given place, expressed as
511 a Place ID obtained from [Google Places API](/places/place-id). Does not
512 match places inside the given place. Does not consider the beacon's
513 actual location (which may be different from its registered place).
514 Accepts multiple filters that will be combined with OR logic. The place
515 ID must be double-quoted.
516* **registration\_time`[<|>|<=|>=]<integer>`**
517 For example: **registration\_time>=1433116800**
518 Returns beacons whose registration time matches the given filter.
519 Supports the operators: <, >, <=, and >=. Timestamp must be expressed as
520 an integer number of seconds since midnight January 1, 1970 UTC. Accepts
521 at most two filters that will be combined with AND logic, to support
522 "between" semantics. If more than two are supplied, the latter ones are
523 ignored.
524* **lat:`<double> lng:<double> radius:<integer>`**
525 For example: **lat:51.1232343 lng:-1.093852 radius:1000**
526 Returns beacons whose registered location is within the given circle.
527 When any of these fields are given, all are required. Latitude and
528 longitude must be decimal degrees between -90.0 and 90.0 and between
529 -180.0 and 180.0 respectively. Radius must be an integer number of
530 meters between 10 and 1,000,000 (1000 km).
531* **property:`"<string>=<string>"`**
532 For example: **property:"battery-type=CR2032"**
533 Returns beacons which have a property of the given name and value.
534 Supports multiple filters which will be combined with OR logic.
535 The entire name=value string must be double-quoted as one string.
536* **attachment\_type:`"<string>"`**
537 For example: **attachment_type:"my-namespace/my-type"**
538 Returns beacons having at least one attachment of the given namespaced
539 type. Supports "any within this namespace" via the partial wildcard
540 syntax: "my-namespace/*". Supports multiple filters which will be
541 combined with OR logic. The string must be double-quoted.
542* **indoor\_level:`"<string>"`**
543 For example: **indoor\_level:"1"**
544 Returns beacons which are located on the given indoor level. Accepts
545 multiple filters that will be combined with OR logic.
546
547Multiple filters on the same field are combined with OR logic (except
548registration_time which is combined with AND logic).
549Multiple filters on different fields are combined with AND logic.
550Filters should be separated by spaces.
551
552As with any HTTP query string parameter, the whole filter expression must
553be URL-encoded.
554
555Example REST request:
556`GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`
Takashi Matsuo06694102015-09-11 13:55:40 -0700557 pageToken: string, A pagination token obtained from a previous request to list beacons.
558 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400559 Allowed values
560 1 - v1 error format
561 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700562
563Returns:
564 An object of the form:
565
566 { # Response that contains list beacon results and pagination help.
Sai Cheemalapatie833b792017-03-24 15:06:46 -0700567 "nextPageToken": "A String", # An opaque pagination token that the client may provide in their next
568 # request to retrieve the next page of results.
Takashi Matsuo06694102015-09-11 13:55:40 -0700569 "beacons": [ # The beacons that matched the search criteria.
570 { # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400571 "status": "A String", # Current status of the beacon.
572 # Required.
573 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
574 # characters.
575 # Optional.
576 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
577 # Google Maps API.
578 # Optional.
579 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -0700580 "name": "A String", # The name of this level.
581 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400582 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
583 # This location is given when the beacon is registered or updated. It does
584 # not necessarily indicate the actual current location of the beacon.
585 # Optional.
586 # of doubles representing degrees latitude and degrees longitude. Unless
587 # specified otherwise, this must conform to the
588 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
589 # standard</a>. Values must be within normalized ranges.
590 #
591 # Example of normalization code in Python:
592 #
593 # def NormalizeLongitude(longitude):
594 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
595 # q, r = divmod(longitude, 360.0)
596 # if r > 180.0 or (r == 180.0 and q <= -1.0):
597 # return r - 360.0
598 # return r
599 #
600 # def NormalizeLatLng(latitude, longitude):
601 # """Wraps decimal degrees latitude and longitude to
602 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
603 # r = latitude % 360.0
604 # if r <= 90.0:
605 # return r, NormalizeLongitude(longitude)
606 # elif r >= 270.0:
607 # return r - 360, NormalizeLongitude(longitude)
608 # else:
609 # return 180 - r, NormalizeLongitude(longitude + 180.0)
610 #
611 # assert 180.0 == NormalizeLongitude(180.0)
612 # assert -180.0 == NormalizeLongitude(-180.0)
613 # assert -179.0 == NormalizeLongitude(181.0)
614 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
615 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
616 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
617 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
618 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
619 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
620 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
621 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
622 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
623 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -0700624 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
625 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
626 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400627 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
628 # the beacon is deployed. This is given when the beacon is registered or
629 # updated, not automatically detected in any way.
630 # Optional.
631 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
632 # (remotely resolved ephemeral ID) format. This information will not be
633 # populated in API responses. When submitting this data, the `advertised_id`
634 # field must contain an ID of type Eddystone-UID. Any other ID type will
635 # result in an error.
636 # Two ways of securely registering an Eddystone-EID beacon with the service
637 # are supported:
638 #
639 # 1. Perform an ECDH key exchange via this API, including a previous call
640 # to `GET /v1beta1/eidparams`. In this case the fields
641 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
642 # populated and `beacon_identity_key` should not be populated. This
643 # method ensures that only the two parties in the ECDH key exchange can
644 # compute the identity key, which becomes a secret between them.
645 # 2. Derive or obtain the beacon's identity key via other secure means
646 # (perhaps an ECDH key exchange between the beacon and a mobile device
647 # or any other secure method), and then submit the resulting identity key
648 # to the service. In this case `beacon_identity_key` field should be
649 # populated, and neither of `beacon_ecdh_public_key` nor
650 # `service_ecdh_public_key` fields should be. The security of this method
651 # depends on how securely the parties involved (in particular the
652 # bluetooth client) handle the identity key, and obviously on how
653 # securely the identity key was generated.
654 #
655 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
656 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
657 # ephemeral ID. "Nominal" because the beacon should randomize the
658 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
659 # for details. This value corresponds to a power-of-two scaler on the
660 # beacon's clock: when the scaler value is K, the beacon will begin
661 # broadcasting a new ephemeral ID on average every 2^K seconds.
662 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
663 # begun counting at this value immediately prior to transmitting this
664 # value to the resolving service. Significant delay in transmitting this
665 # value to the service risks registration or resolution failures. If a
666 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -0700667 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
668 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400669 # must also be populated, and `beacon_identity_key` must not be.
670 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
671 # `initial_clock_value`, and the secret key generated by the
672 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
673 # `service_ecdh_public_key`. This initial EID value will be used by the
674 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -0700675 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
676 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400677 # must also be populated, and `beacon_identity_key` must not be.
678 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
679 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
680 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700681 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400682 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
683 # populated when registering. It may be empty when updating a beacon
684 # record because it is ignored in updates.
685 #
686 # When registering a beacon that broadcasts Eddystone-EID, this field
687 # should contain a "stable" Eddystone-UID that identifies the beacon and
688 # links it to its attachments. The stable Eddystone-UID is only used for
689 # administering the beacon.
690 "type": "A String", # Specifies the identifier type.
691 # Required.
692 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
693 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
694 # requests, and will be so encoded (with padding) in responses. The base64
695 # encoding should be of the binary byte-stream and not any textual (such as
696 # hex) representation thereof.
697 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -0700698 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400699 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
700 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
701 # the beacon and N is a code for the beacon's type. Possible values are
702 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
703 #
704 # This field must be left empty when registering. After reading a beacon,
705 # clients can use the name for future operations.
706 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
707 # updated, not automatically detected in any way.
708 # Optional.
709 "properties": { # Properties of the beacon device, for example battery type or firmware
710 # version.
711 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700712 "a_key": "A String",
713 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400714 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
715 # changing any of its configuration (e.g. broadcast frames, transmit power).
716 # This field provides a place to store and control access to that key.
717 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
718 # from users with write access to the given beacon. That is to say: If the
719 # user is authorized to write the beacon's confidential data in the service,
720 # the service considers them authorized to configure the beacon. Note
721 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -0700722 },
723 ],
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400724 "totalCount": "A String", # Estimate of the total number of beacons matched by the query. Higher
725 # values may be less accurate.
Takashi Matsuo06694102015-09-11 13:55:40 -0700726 }</pre>
727</div>
728
729<div class="method">
730 <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
731 <pre>Retrieves the next page of results.
732
733Args:
734 previous_request: The request for the previous page. (required)
735 previous_response: The response from the request for the previous page. (required)
736
737Returns:
738 A request object that you can call 'execute()' on to request the next
739 page. Returns None if there are no more items in the collection.
740 </pre>
741</div>
742
743<div class="method">
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700744 <code class="details" id="register">register(body, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400745 <pre>Registers a previously unregistered beacon given its `advertisedId`.
746These IDs are unique within the system. An ID can be registered only once.
747
748Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
749from a signed-in user with **Is owner** or **Can edit** permissions in the
750Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -0700751
752Args:
753 body: object, The request body. (required)
754 The object takes the form of:
755
756{ # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400757 "status": "A String", # Current status of the beacon.
758 # Required.
759 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
760 # characters.
761 # Optional.
762 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
763 # Google Maps API.
764 # Optional.
765 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -0700766 "name": "A String", # The name of this level.
767 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400768 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
769 # This location is given when the beacon is registered or updated. It does
770 # not necessarily indicate the actual current location of the beacon.
771 # Optional.
772 # of doubles representing degrees latitude and degrees longitude. Unless
773 # specified otherwise, this must conform to the
774 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
775 # standard</a>. Values must be within normalized ranges.
776 #
777 # Example of normalization code in Python:
778 #
779 # def NormalizeLongitude(longitude):
780 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
781 # q, r = divmod(longitude, 360.0)
782 # if r > 180.0 or (r == 180.0 and q <= -1.0):
783 # return r - 360.0
784 # return r
785 #
786 # def NormalizeLatLng(latitude, longitude):
787 # """Wraps decimal degrees latitude and longitude to
788 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
789 # r = latitude % 360.0
790 # if r <= 90.0:
791 # return r, NormalizeLongitude(longitude)
792 # elif r >= 270.0:
793 # return r - 360, NormalizeLongitude(longitude)
794 # else:
795 # return 180 - r, NormalizeLongitude(longitude + 180.0)
796 #
797 # assert 180.0 == NormalizeLongitude(180.0)
798 # assert -180.0 == NormalizeLongitude(-180.0)
799 # assert -179.0 == NormalizeLongitude(181.0)
800 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
801 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
802 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
803 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
804 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
805 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
806 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
807 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
808 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
809 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -0700810 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
811 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
812 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400813 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
814 # the beacon is deployed. This is given when the beacon is registered or
815 # updated, not automatically detected in any way.
816 # Optional.
817 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
818 # (remotely resolved ephemeral ID) format. This information will not be
819 # populated in API responses. When submitting this data, the `advertised_id`
820 # field must contain an ID of type Eddystone-UID. Any other ID type will
821 # result in an error.
822 # Two ways of securely registering an Eddystone-EID beacon with the service
823 # are supported:
824 #
825 # 1. Perform an ECDH key exchange via this API, including a previous call
826 # to `GET /v1beta1/eidparams`. In this case the fields
827 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
828 # populated and `beacon_identity_key` should not be populated. This
829 # method ensures that only the two parties in the ECDH key exchange can
830 # compute the identity key, which becomes a secret between them.
831 # 2. Derive or obtain the beacon's identity key via other secure means
832 # (perhaps an ECDH key exchange between the beacon and a mobile device
833 # or any other secure method), and then submit the resulting identity key
834 # to the service. In this case `beacon_identity_key` field should be
835 # populated, and neither of `beacon_ecdh_public_key` nor
836 # `service_ecdh_public_key` fields should be. The security of this method
837 # depends on how securely the parties involved (in particular the
838 # bluetooth client) handle the identity key, and obviously on how
839 # securely the identity key was generated.
840 #
841 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
842 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
843 # ephemeral ID. "Nominal" because the beacon should randomize the
844 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
845 # for details. This value corresponds to a power-of-two scaler on the
846 # beacon's clock: when the scaler value is K, the beacon will begin
847 # broadcasting a new ephemeral ID on average every 2^K seconds.
848 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
849 # begun counting at this value immediately prior to transmitting this
850 # value to the resolving service. Significant delay in transmitting this
851 # value to the service risks registration or resolution failures. If a
852 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -0700853 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
854 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400855 # must also be populated, and `beacon_identity_key` must not be.
856 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
857 # `initial_clock_value`, and the secret key generated by the
858 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
859 # `service_ecdh_public_key`. This initial EID value will be used by the
860 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -0700861 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
862 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400863 # must also be populated, and `beacon_identity_key` must not be.
864 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
865 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
866 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700867 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400868 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
869 # populated when registering. It may be empty when updating a beacon
870 # record because it is ignored in updates.
871 #
872 # When registering a beacon that broadcasts Eddystone-EID, this field
873 # should contain a "stable" Eddystone-UID that identifies the beacon and
874 # links it to its attachments. The stable Eddystone-UID is only used for
875 # administering the beacon.
876 "type": "A String", # Specifies the identifier type.
877 # Required.
878 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
879 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
880 # requests, and will be so encoded (with padding) in responses. The base64
881 # encoding should be of the binary byte-stream and not any textual (such as
882 # hex) representation thereof.
883 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -0700884 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400885 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
886 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
887 # the beacon and N is a code for the beacon's type. Possible values are
888 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
889 #
890 # This field must be left empty when registering. After reading a beacon,
891 # clients can use the name for future operations.
892 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
893 # updated, not automatically detected in any way.
894 # Optional.
895 "properties": { # Properties of the beacon device, for example battery type or firmware
896 # version.
897 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700898 "a_key": "A String",
899 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400900 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
901 # changing any of its configuration (e.g. broadcast frames, transmit power).
902 # This field provides a place to store and control access to that key.
903 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
904 # from users with write access to the given beacon. That is to say: If the
905 # user is authorized to write the beacon's confidential data in the service,
906 # the service considers them authorized to configure the beacon. Note
907 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -0700908}
909
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400910 projectId: string, The project id of the project the beacon will be registered to. If
911the project id is not specified then the project making the request
912is used.
913Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -0700914 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400915 Allowed values
916 1 - v1 error format
917 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -0700918
919Returns:
920 An object of the form:
921
922 { # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400923 "status": "A String", # Current status of the beacon.
924 # Required.
925 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
926 # characters.
927 # Optional.
928 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
929 # Google Maps API.
930 # Optional.
931 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -0700932 "name": "A String", # The name of this level.
933 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400934 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
935 # This location is given when the beacon is registered or updated. It does
936 # not necessarily indicate the actual current location of the beacon.
937 # Optional.
938 # of doubles representing degrees latitude and degrees longitude. Unless
939 # specified otherwise, this must conform to the
940 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
941 # standard</a>. Values must be within normalized ranges.
942 #
943 # Example of normalization code in Python:
944 #
945 # def NormalizeLongitude(longitude):
946 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
947 # q, r = divmod(longitude, 360.0)
948 # if r > 180.0 or (r == 180.0 and q <= -1.0):
949 # return r - 360.0
950 # return r
951 #
952 # def NormalizeLatLng(latitude, longitude):
953 # """Wraps decimal degrees latitude and longitude to
954 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
955 # r = latitude % 360.0
956 # if r <= 90.0:
957 # return r, NormalizeLongitude(longitude)
958 # elif r >= 270.0:
959 # return r - 360, NormalizeLongitude(longitude)
960 # else:
961 # return 180 - r, NormalizeLongitude(longitude + 180.0)
962 #
963 # assert 180.0 == NormalizeLongitude(180.0)
964 # assert -180.0 == NormalizeLongitude(-180.0)
965 # assert -179.0 == NormalizeLongitude(181.0)
966 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
967 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
968 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
969 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
970 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
971 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
972 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
973 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
974 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
975 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -0700976 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
977 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
978 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -0400979 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
980 # the beacon is deployed. This is given when the beacon is registered or
981 # updated, not automatically detected in any way.
982 # Optional.
983 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
984 # (remotely resolved ephemeral ID) format. This information will not be
985 # populated in API responses. When submitting this data, the `advertised_id`
986 # field must contain an ID of type Eddystone-UID. Any other ID type will
987 # result in an error.
988 # Two ways of securely registering an Eddystone-EID beacon with the service
989 # are supported:
990 #
991 # 1. Perform an ECDH key exchange via this API, including a previous call
992 # to `GET /v1beta1/eidparams`. In this case the fields
993 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
994 # populated and `beacon_identity_key` should not be populated. This
995 # method ensures that only the two parties in the ECDH key exchange can
996 # compute the identity key, which becomes a secret between them.
997 # 2. Derive or obtain the beacon's identity key via other secure means
998 # (perhaps an ECDH key exchange between the beacon and a mobile device
999 # or any other secure method), and then submit the resulting identity key
1000 # to the service. In this case `beacon_identity_key` field should be
1001 # populated, and neither of `beacon_ecdh_public_key` nor
1002 # `service_ecdh_public_key` fields should be. The security of this method
1003 # depends on how securely the parties involved (in particular the
1004 # bluetooth client) handle the identity key, and obviously on how
1005 # securely the identity key was generated.
1006 #
1007 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
1008 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
1009 # ephemeral ID. "Nominal" because the beacon should randomize the
1010 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
1011 # for details. This value corresponds to a power-of-two scaler on the
1012 # beacon's clock: when the scaler value is K, the beacon will begin
1013 # broadcasting a new ephemeral ID on average every 2^K seconds.
1014 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
1015 # begun counting at this value immediately prior to transmitting this
1016 # value to the resolving service. Significant delay in transmitting this
1017 # value to the service risks registration or resolution failures. If a
1018 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -07001019 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
1020 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001021 # must also be populated, and `beacon_identity_key` must not be.
1022 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
1023 # `initial_clock_value`, and the secret key generated by the
1024 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
1025 # `service_ecdh_public_key`. This initial EID value will be used by the
1026 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -07001027 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
1028 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001029 # must also be populated, and `beacon_identity_key` must not be.
1030 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
1031 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
1032 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -07001033 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001034 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
1035 # populated when registering. It may be empty when updating a beacon
1036 # record because it is ignored in updates.
1037 #
1038 # When registering a beacon that broadcasts Eddystone-EID, this field
1039 # should contain a "stable" Eddystone-UID that identifies the beacon and
1040 # links it to its attachments. The stable Eddystone-UID is only used for
1041 # administering the beacon.
1042 "type": "A String", # Specifies the identifier type.
1043 # Required.
1044 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
1045 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
1046 # requests, and will be so encoded (with padding) in responses. The base64
1047 # encoding should be of the binary byte-stream and not any textual (such as
1048 # hex) representation thereof.
1049 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -07001050 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001051 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
1052 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
1053 # the beacon and N is a code for the beacon's type. Possible values are
1054 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
1055 #
1056 # This field must be left empty when registering. After reading a beacon,
1057 # clients can use the name for future operations.
1058 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
1059 # updated, not automatically detected in any way.
1060 # Optional.
1061 "properties": { # Properties of the beacon device, for example battery type or firmware
1062 # version.
1063 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -07001064 "a_key": "A String",
1065 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001066 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
1067 # changing any of its configuration (e.g. broadcast frames, transmit power).
1068 # This field provides a place to store and control access to that key.
1069 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
1070 # from users with write access to the given beacon. That is to say: If the
1071 # user is authorized to write the beacon's confidential data in the service,
1072 # the service considers them authorized to configure the beacon. Note
1073 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -07001074 }</pre>
1075</div>
1076
1077<div class="method">
Thomas Coffee2f245372017-03-27 10:39:26 -07001078 <code class="details" id="update">update(beaconName, body, projectId=None, x__xgafv=None)</code>
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001079 <pre>Updates the information about the specified beacon. **Any field that you do
1080not populate in the submitted beacon will be permanently erased**, so you
1081should follow the "read, modify, write" pattern to avoid inadvertently
1082destroying data.
1083
1084Changes to the beacon status via this method will be silently ignored.
1085To update beacon status, use the separate methods on this API for
1086activation, deactivation, and decommissioning.
1087Authenticate using an [OAuth access token](https://developers.google.com/identity/protocols/OAuth2)
1088from a signed-in user with **Is owner** or **Can edit** permissions in the
1089Google Developers Console project.
Takashi Matsuo06694102015-09-11 13:55:40 -07001090
1091Args:
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001092 beaconName: string, Resource name of this beacon. A beacon name has the format
1093"beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
1094the beacon and N is a code for the beacon's type. Possible values are
1095`3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
1096
1097This field must be left empty when registering. After reading a beacon,
1098clients can use the name for future operations. (required)
Takashi Matsuo06694102015-09-11 13:55:40 -07001099 body: object, The request body. (required)
1100 The object takes the form of:
1101
1102{ # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001103 "status": "A String", # Current status of the beacon.
1104 # Required.
1105 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
1106 # characters.
1107 # Optional.
1108 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
1109 # Google Maps API.
1110 # Optional.
1111 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -07001112 "name": "A String", # The name of this level.
1113 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001114 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
1115 # This location is given when the beacon is registered or updated. It does
1116 # not necessarily indicate the actual current location of the beacon.
1117 # Optional.
1118 # of doubles representing degrees latitude and degrees longitude. Unless
1119 # specified otherwise, this must conform to the
1120 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1121 # standard</a>. Values must be within normalized ranges.
1122 #
1123 # Example of normalization code in Python:
1124 #
1125 # def NormalizeLongitude(longitude):
1126 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
1127 # q, r = divmod(longitude, 360.0)
1128 # if r > 180.0 or (r == 180.0 and q <= -1.0):
1129 # return r - 360.0
1130 # return r
1131 #
1132 # def NormalizeLatLng(latitude, longitude):
1133 # """Wraps decimal degrees latitude and longitude to
1134 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
1135 # r = latitude % 360.0
1136 # if r <= 90.0:
1137 # return r, NormalizeLongitude(longitude)
1138 # elif r >= 270.0:
1139 # return r - 360, NormalizeLongitude(longitude)
1140 # else:
1141 # return 180 - r, NormalizeLongitude(longitude + 180.0)
1142 #
1143 # assert 180.0 == NormalizeLongitude(180.0)
1144 # assert -180.0 == NormalizeLongitude(-180.0)
1145 # assert -179.0 == NormalizeLongitude(181.0)
1146 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
1147 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
1148 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
1149 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
1150 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
1151 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
1152 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
1153 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
1154 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
1155 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -07001156 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1157 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1158 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001159 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
1160 # the beacon is deployed. This is given when the beacon is registered or
1161 # updated, not automatically detected in any way.
1162 # Optional.
1163 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
1164 # (remotely resolved ephemeral ID) format. This information will not be
1165 # populated in API responses. When submitting this data, the `advertised_id`
1166 # field must contain an ID of type Eddystone-UID. Any other ID type will
1167 # result in an error.
1168 # Two ways of securely registering an Eddystone-EID beacon with the service
1169 # are supported:
1170 #
1171 # 1. Perform an ECDH key exchange via this API, including a previous call
1172 # to `GET /v1beta1/eidparams`. In this case the fields
1173 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
1174 # populated and `beacon_identity_key` should not be populated. This
1175 # method ensures that only the two parties in the ECDH key exchange can
1176 # compute the identity key, which becomes a secret between them.
1177 # 2. Derive or obtain the beacon's identity key via other secure means
1178 # (perhaps an ECDH key exchange between the beacon and a mobile device
1179 # or any other secure method), and then submit the resulting identity key
1180 # to the service. In this case `beacon_identity_key` field should be
1181 # populated, and neither of `beacon_ecdh_public_key` nor
1182 # `service_ecdh_public_key` fields should be. The security of this method
1183 # depends on how securely the parties involved (in particular the
1184 # bluetooth client) handle the identity key, and obviously on how
1185 # securely the identity key was generated.
1186 #
1187 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
1188 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
1189 # ephemeral ID. "Nominal" because the beacon should randomize the
1190 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
1191 # for details. This value corresponds to a power-of-two scaler on the
1192 # beacon's clock: when the scaler value is K, the beacon will begin
1193 # broadcasting a new ephemeral ID on average every 2^K seconds.
1194 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
1195 # begun counting at this value immediately prior to transmitting this
1196 # value to the resolving service. Significant delay in transmitting this
1197 # value to the service risks registration or resolution failures. If a
1198 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -07001199 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
1200 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001201 # must also be populated, and `beacon_identity_key` must not be.
1202 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
1203 # `initial_clock_value`, and the secret key generated by the
1204 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
1205 # `service_ecdh_public_key`. This initial EID value will be used by the
1206 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -07001207 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
1208 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001209 # must also be populated, and `beacon_identity_key` must not be.
1210 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
1211 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
1212 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -07001213 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001214 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
1215 # populated when registering. It may be empty when updating a beacon
1216 # record because it is ignored in updates.
1217 #
1218 # When registering a beacon that broadcasts Eddystone-EID, this field
1219 # should contain a "stable" Eddystone-UID that identifies the beacon and
1220 # links it to its attachments. The stable Eddystone-UID is only used for
1221 # administering the beacon.
1222 "type": "A String", # Specifies the identifier type.
1223 # Required.
1224 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
1225 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
1226 # requests, and will be so encoded (with padding) in responses. The base64
1227 # encoding should be of the binary byte-stream and not any textual (such as
1228 # hex) representation thereof.
1229 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -07001230 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001231 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
1232 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
1233 # the beacon and N is a code for the beacon's type. Possible values are
1234 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
1235 #
1236 # This field must be left empty when registering. After reading a beacon,
1237 # clients can use the name for future operations.
1238 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
1239 # updated, not automatically detected in any way.
1240 # Optional.
1241 "properties": { # Properties of the beacon device, for example battery type or firmware
1242 # version.
1243 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -07001244 "a_key": "A String",
1245 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001246 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
1247 # changing any of its configuration (e.g. broadcast frames, transmit power).
1248 # This field provides a place to store and control access to that key.
1249 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
1250 # from users with write access to the given beacon. That is to say: If the
1251 # user is authorized to write the beacon's confidential data in the service,
1252 # the service considers them authorized to configure the beacon. Note
1253 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -07001254}
1255
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001256 projectId: string, The project id of the beacon to update. If the project id is not
1257specified then the project making the request is used. The project id
1258must match the project that owns the beacon.
1259Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -07001260 x__xgafv: string, V1 error format.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001261 Allowed values
1262 1 - v1 error format
1263 2 - v2 error format
Takashi Matsuo06694102015-09-11 13:55:40 -07001264
1265Returns:
1266 An object of the form:
1267
1268 { # Details of a beacon device.
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001269 "status": "A String", # Current status of the beacon.
1270 # Required.
1271 "description": "A String", # Free text used to identify and describe the beacon. Maximum length 140
1272 # characters.
1273 # Optional.
1274 "indoorLevel": { # Indoor level, a human-readable string as returned by Google Maps APIs, # The indoor level information for this beacon, if known. As returned by the
1275 # Google Maps API.
1276 # Optional.
1277 # useful to indicate which floor of a building a beacon is located on.
Takashi Matsuo06694102015-09-11 13:55:40 -07001278 "name": "A String", # The name of this level.
1279 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001280 "latLng": { # An object representing a latitude/longitude pair. This is expressed as a pair # The location of the beacon, expressed as a latitude and longitude pair.
1281 # This location is given when the beacon is registered or updated. It does
1282 # not necessarily indicate the actual current location of the beacon.
1283 # Optional.
1284 # of doubles representing degrees latitude and degrees longitude. Unless
1285 # specified otherwise, this must conform to the
1286 # <a href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
1287 # standard</a>. Values must be within normalized ranges.
1288 #
1289 # Example of normalization code in Python:
1290 #
1291 # def NormalizeLongitude(longitude):
1292 # """Wraps decimal degrees longitude to [-180.0, 180.0]."""
1293 # q, r = divmod(longitude, 360.0)
1294 # if r > 180.0 or (r == 180.0 and q <= -1.0):
1295 # return r - 360.0
1296 # return r
1297 #
1298 # def NormalizeLatLng(latitude, longitude):
1299 # """Wraps decimal degrees latitude and longitude to
1300 # [-90.0, 90.0] and [-180.0, 180.0], respectively."""
1301 # r = latitude % 360.0
1302 # if r <= 90.0:
1303 # return r, NormalizeLongitude(longitude)
1304 # elif r >= 270.0:
1305 # return r - 360, NormalizeLongitude(longitude)
1306 # else:
1307 # return 180 - r, NormalizeLongitude(longitude + 180.0)
1308 #
1309 # assert 180.0 == NormalizeLongitude(180.0)
1310 # assert -180.0 == NormalizeLongitude(-180.0)
1311 # assert -179.0 == NormalizeLongitude(181.0)
1312 # assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0)
1313 # assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0)
1314 # assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0)
1315 # assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0)
1316 # assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0)
1317 # assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0)
1318 # assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0)
1319 # assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0)
1320 # assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0)
1321 # assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)
Takashi Matsuo06694102015-09-11 13:55:40 -07001322 "latitude": 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
1323 "longitude": 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
1324 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001325 "placeId": "A String", # The [Google Places API](/places/place-id) Place ID of the place where
1326 # the beacon is deployed. This is given when the beacon is registered or
1327 # updated, not automatically detected in any way.
1328 # Optional.
1329 "ephemeralIdRegistration": { # Write-only registration parameters for beacons using Eddystone-EID format. # Write-only registration parameters for beacons using Eddystone-EID
1330 # (remotely resolved ephemeral ID) format. This information will not be
1331 # populated in API responses. When submitting this data, the `advertised_id`
1332 # field must contain an ID of type Eddystone-UID. Any other ID type will
1333 # result in an error.
1334 # Two ways of securely registering an Eddystone-EID beacon with the service
1335 # are supported:
1336 #
1337 # 1. Perform an ECDH key exchange via this API, including a previous call
1338 # to `GET /v1beta1/eidparams`. In this case the fields
1339 # `beacon_ecdh_public_key` and `service_ecdh_public_key` should be
1340 # populated and `beacon_identity_key` should not be populated. This
1341 # method ensures that only the two parties in the ECDH key exchange can
1342 # compute the identity key, which becomes a secret between them.
1343 # 2. Derive or obtain the beacon's identity key via other secure means
1344 # (perhaps an ECDH key exchange between the beacon and a mobile device
1345 # or any other secure method), and then submit the resulting identity key
1346 # to the service. In this case `beacon_identity_key` field should be
1347 # populated, and neither of `beacon_ecdh_public_key` nor
1348 # `service_ecdh_public_key` fields should be. The security of this method
1349 # depends on how securely the parties involved (in particular the
1350 # bluetooth client) handle the identity key, and obviously on how
1351 # securely the identity key was generated.
1352 #
1353 # See [the Eddystone specification](https://github.com/google/eddystone/tree/master/eddystone-eid) at GitHub.
1354 "rotationPeriodExponent": 42, # Indicates the nominal period between each rotation of the beacon's
1355 # ephemeral ID. "Nominal" because the beacon should randomize the
1356 # actual interval. See [the spec at github](https://github.com/google/eddystone/tree/master/eddystone-eid)
1357 # for details. This value corresponds to a power-of-two scaler on the
1358 # beacon's clock: when the scaler value is K, the beacon will begin
1359 # broadcasting a new ephemeral ID on average every 2^K seconds.
1360 "initialClockValue": "A String", # The initial clock value of the beacon. The beacon's clock must have
1361 # begun counting at this value immediately prior to transmitting this
1362 # value to the resolving service. Significant delay in transmitting this
1363 # value to the service risks registration or resolution failures. If a
1364 # value is not provided, the default is zero.
Thomas Coffee2f245372017-03-27 10:39:26 -07001365 "serviceEcdhPublicKey": "A String", # The service's public key used for the Elliptic curve Diffie-Hellman
1366 # key exchange. When this field is populated, `beacon_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001367 # must also be populated, and `beacon_identity_key` must not be.
1368 "initialEid": "A String", # An initial ephemeral ID calculated using the clock value submitted as
1369 # `initial_clock_value`, and the secret key generated by the
1370 # Diffie-Hellman key exchange using `service_ecdh_public_key` and
1371 # `service_ecdh_public_key`. This initial EID value will be used by the
1372 # service to confirm that the key exchange process was successful.
Thomas Coffee2f245372017-03-27 10:39:26 -07001373 "beaconEcdhPublicKey": "A String", # The beacon's public key used for the Elliptic curve Diffie-Hellman
1374 # key exchange. When this field is populated, `service_ecdh_public_key`
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001375 # must also be populated, and `beacon_identity_key` must not be.
1376 "beaconIdentityKey": "A String", # The private key of the beacon. If this field is populated,
1377 # `beacon_ecdh_public_key` and `service_ecdh_public_key` must not be
1378 # populated.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -07001379 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001380 "advertisedId": { # Defines a unique identifier of a beacon as broadcast by the device. # The identifier of a beacon as advertised by it. This field must be
1381 # populated when registering. It may be empty when updating a beacon
1382 # record because it is ignored in updates.
1383 #
1384 # When registering a beacon that broadcasts Eddystone-EID, this field
1385 # should contain a "stable" Eddystone-UID that identifies the beacon and
1386 # links it to its attachments. The stable Eddystone-UID is only used for
1387 # administering the beacon.
1388 "type": "A String", # Specifies the identifier type.
1389 # Required.
1390 "id": "A String", # The actual beacon identifier, as broadcast by the beacon hardware. Must be
1391 # [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP
1392 # requests, and will be so encoded (with padding) in responses. The base64
1393 # encoding should be of the binary byte-stream and not any textual (such as
1394 # hex) representation thereof.
1395 # Required.
Takashi Matsuo06694102015-09-11 13:55:40 -07001396 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001397 "beaconName": "A String", # Resource name of this beacon. A beacon name has the format
1398 # "beacons/N!beaconId" where the beaconId is the base16 ID broadcast by
1399 # the beacon and N is a code for the beacon's type. Possible values are
1400 # `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon.
1401 #
1402 # This field must be left empty when registering. After reading a beacon,
1403 # clients can use the name for future operations.
1404 "expectedStability": "A String", # Expected location stability. This is set when the beacon is registered or
1405 # updated, not automatically detected in any way.
1406 # Optional.
1407 "properties": { # Properties of the beacon device, for example battery type or firmware
1408 # version.
1409 # Optional.
Takashi Matsuo06694102015-09-11 13:55:40 -07001410 "a_key": "A String",
1411 },
Sai Cheemalapatic30d2b52017-03-13 12:12:03 -04001412 "provisioningKey": "A String", # Some beacons may require a user to provide an authorization key before
1413 # changing any of its configuration (e.g. broadcast frames, transmit power).
1414 # This field provides a place to store and control access to that key.
1415 # This field is populated in responses to `GET /v1beta1/beacons/3!beaconId`
1416 # from users with write access to the given beacon. That is to say: If the
1417 # user is authorized to write the beacon's confidential data in the service,
1418 # the service considers them authorized to configure the beacon. Note
1419 # that this key grants nothing on the service, only on the beacon itself.
Takashi Matsuo06694102015-09-11 13:55:40 -07001420 }</pre>
1421</div>
1422
1423</body></html>