zyphr 0.1.57 → 0.1.59
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 +4 -4
- data/docs/AuthEmailVerificationApi.md +1 -1
- data/docs/DevicesApi.md +12 -2
- data/lib/zyphr/api/auth_email_verification_api.rb +2 -2
- data/lib/zyphr/api/devices_api.rb +3 -3
- data/spec/api/auth_email_verification_api_spec.rb +1 -1
- data/spec/api/devices_api_spec.rb +1 -1
- data/zyphr.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 68a6a8c4ca53f0d9c241056229349324604e5041f8123f33c293e47c0ededfab
|
|
4
|
+
data.tar.gz: 4292defa42f1d859b8b3cd86a8e763313be7259c2fabbc80c995165494931c0b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: c4205020ca0940fde2cfb3cf1f4d6b0b6705273fe93ee111fdd3ac4040773483dacf0d3d26335aea4a3b999dad58ac52a818f729799a7a02f30e3ed4a5de06df
|
|
7
|
+
data.tar.gz: 48d3cc59856b33e78258731f226414caabd39e531059c838853382c0df13ae78001434d3ab3b777f304984744249599e364d9979a6f34bfaf3ca3a39833eedab
|
|
@@ -15,7 +15,7 @@ All URIs are relative to *https://api.zyphr.dev/v1*
|
|
|
15
15
|
|
|
16
16
|
Confirm email verification
|
|
17
17
|
|
|
18
|
-
Verify the user's email using
|
|
18
|
+
Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification email — there is no hosted fallback page.
|
|
19
19
|
|
|
20
20
|
### Examples
|
|
21
21
|
|
data/docs/DevicesApi.md
CHANGED
|
@@ -378,7 +378,7 @@ end
|
|
|
378
378
|
|
|
379
379
|
Register a device
|
|
380
380
|
|
|
381
|
-
Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you.
|
|
381
|
+
Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Call this from your backend and derive `user_id` from the authenticated session rather than the request body. **Two credentials are accepted, and the choice matters for push routing:** - **Application credentials** — `X-Application-Key` + `X-Application-Secret` (`za_*`). The device is bound to that application, and pushes to it resolve *that application's* push provider credentials. Use this when a single project contains more than one app: APNs credentials are bound to a bundle id, so a device registered under the wrong application has its pushes rejected by Apple. The application is taken from the credential and can never be set from the request body. Using an **environment-scoped** key (`za_test_pub_*` / `za_live_pub_*`) also binds the device to that environment, which is what lets APNs sandbox and production credentials be configured separately. A legacy application-level key (`za_pub_*`) binds the application only, and such devices will not match an environment-scoped push config. - **Project secret API key** (`zy_*`) — the device is not bound to any application and resolves the project-level push provider config. This is the historical behaviour and remains supported.
|
|
382
382
|
|
|
383
383
|
### Examples
|
|
384
384
|
|
|
@@ -387,10 +387,20 @@ require 'time'
|
|
|
387
387
|
require 'zyphr'
|
|
388
388
|
# setup authorization
|
|
389
389
|
Zyphr.configure do |config|
|
|
390
|
+
# Configure API key authorization: ApplicationSecret
|
|
391
|
+
config.api_key['X-Application-Secret'] = 'YOUR API KEY'
|
|
392
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
393
|
+
# config.api_key_prefix['X-Application-Secret'] = 'Bearer'
|
|
394
|
+
|
|
390
395
|
# Configure API key authorization: ApiKeyAuth
|
|
391
396
|
config.api_key['X-API-Key'] = 'YOUR API KEY'
|
|
392
397
|
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
393
398
|
# config.api_key_prefix['X-API-Key'] = 'Bearer'
|
|
399
|
+
|
|
400
|
+
# Configure API key authorization: ApplicationPublicKey
|
|
401
|
+
config.api_key['X-Application-Key'] = 'YOUR API KEY'
|
|
402
|
+
# Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
|
|
403
|
+
# config.api_key_prefix['X-Application-Key'] = 'Bearer'
|
|
394
404
|
end
|
|
395
405
|
|
|
396
406
|
api_instance = Zyphr::DevicesApi.new
|
|
@@ -435,7 +445,7 @@ end
|
|
|
435
445
|
|
|
436
446
|
### Authorization
|
|
437
447
|
|
|
438
|
-
[ApiKeyAuth](../README.md#ApiKeyAuth)
|
|
448
|
+
[ApplicationSecret](../README.md#ApplicationSecret), [ApiKeyAuth](../README.md#ApiKeyAuth), [ApplicationPublicKey](../README.md#ApplicationPublicKey)
|
|
439
449
|
|
|
440
450
|
### HTTP request headers
|
|
441
451
|
|
|
@@ -20,7 +20,7 @@ module Zyphr
|
|
|
20
20
|
@api_client = api_client
|
|
21
21
|
end
|
|
22
22
|
# Confirm email verification
|
|
23
|
-
# Verify the user's email using
|
|
23
|
+
# Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification email — there is no hosted fallback page.
|
|
24
24
|
# @param confirm_email_verification_request [ConfirmEmailVerificationRequest]
|
|
25
25
|
# @param [Hash] opts the optional parameters
|
|
26
26
|
# @return [ConfirmEmailVerificationResponse]
|
|
@@ -30,7 +30,7 @@ module Zyphr
|
|
|
30
30
|
end
|
|
31
31
|
|
|
32
32
|
# Confirm email verification
|
|
33
|
-
# Verify the user's email using
|
|
33
|
+
# Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification email — there is no hosted fallback page.
|
|
34
34
|
# @param confirm_email_verification_request [ConfirmEmailVerificationRequest]
|
|
35
35
|
# @param [Hash] opts the optional parameters
|
|
36
36
|
# @return [Array<(ConfirmEmailVerificationResponse, Integer, Hash)>] ConfirmEmailVerificationResponse data, response status code and response headers
|
|
@@ -339,7 +339,7 @@ module Zyphr
|
|
|
339
339
|
end
|
|
340
340
|
|
|
341
341
|
# Register a device
|
|
342
|
-
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you.
|
|
342
|
+
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Call this from your backend and derive `user_id` from the authenticated session rather than the request body. **Two credentials are accepted, and the choice matters for push routing:** - **Application credentials** — `X-Application-Key` + `X-Application-Secret` (`za_*`). The device is bound to that application, and pushes to it resolve *that application's* push provider credentials. Use this when a single project contains more than one app: APNs credentials are bound to a bundle id, so a device registered under the wrong application has its pushes rejected by Apple. The application is taken from the credential and can never be set from the request body. Using an **environment-scoped** key (`za_test_pub_*` / `za_live_pub_*`) also binds the device to that environment, which is what lets APNs sandbox and production credentials be configured separately. A legacy application-level key (`za_pub_*`) binds the application only, and such devices will not match an environment-scoped push config. - **Project secret API key** (`zy_*`) — the device is not bound to any application and resolves the project-level push provider config. This is the historical behaviour and remains supported.
|
|
343
343
|
# @param register_device_request [RegisterDeviceRequest]
|
|
344
344
|
# @param [Hash] opts the optional parameters
|
|
345
345
|
# @return [DeviceResponse]
|
|
@@ -349,7 +349,7 @@ module Zyphr
|
|
|
349
349
|
end
|
|
350
350
|
|
|
351
351
|
# Register a device
|
|
352
|
-
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you.
|
|
352
|
+
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Call this from your backend and derive `user_id` from the authenticated session rather than the request body. **Two credentials are accepted, and the choice matters for push routing:** - **Application credentials** — `X-Application-Key` + `X-Application-Secret` (`za_*`). The device is bound to that application, and pushes to it resolve *that application's* push provider credentials. Use this when a single project contains more than one app: APNs credentials are bound to a bundle id, so a device registered under the wrong application has its pushes rejected by Apple. The application is taken from the credential and can never be set from the request body. Using an **environment-scoped** key (`za_test_pub_*` / `za_live_pub_*`) also binds the device to that environment, which is what lets APNs sandbox and production credentials be configured separately. A legacy application-level key (`za_pub_*`) binds the application only, and such devices will not match an environment-scoped push config. - **Project secret API key** (`zy_*`) — the device is not bound to any application and resolves the project-level push provider config. This is the historical behaviour and remains supported.
|
|
353
353
|
# @param register_device_request [RegisterDeviceRequest]
|
|
354
354
|
# @param [Hash] opts the optional parameters
|
|
355
355
|
# @return [Array<(DeviceResponse, Integer, Hash)>] DeviceResponse data, response status code and response headers
|
|
@@ -387,7 +387,7 @@ module Zyphr
|
|
|
387
387
|
return_type = opts[:debug_return_type] || 'DeviceResponse'
|
|
388
388
|
|
|
389
389
|
# auth_names
|
|
390
|
-
auth_names = opts[:debug_auth_names] || ['ApiKeyAuth']
|
|
390
|
+
auth_names = opts[:debug_auth_names] || ['ApplicationSecret', 'ApiKeyAuth', 'ApplicationPublicKey']
|
|
391
391
|
|
|
392
392
|
new_options = opts.merge(
|
|
393
393
|
:operation => :"DevicesApi.register_device",
|
|
@@ -34,7 +34,7 @@ describe 'AuthEmailVerificationApi' do
|
|
|
34
34
|
|
|
35
35
|
# unit tests for confirm_email_verification
|
|
36
36
|
# Confirm email verification
|
|
37
|
-
# Verify the user's email using
|
|
37
|
+
# Verify the user's email using the token from the emailed link. Zyphr does NOT host auth pages and never redeems the token itself. The emailed link points at YOUR `redirect_url` with `?token=<raw>`; your app reads that token and posts it here. Nothing is verified until this call. This endpoint is idempotent: re-posting an already-redeemed token returns `200` with `already_verified: true` rather than an error, so a double submit or a link opened twice is safe. Only a genuinely invalid / expired / unknown token returns `400`. Note `redirect_url` is REQUIRED (snake_case) when sending the verification email — there is no hosted fallback page.
|
|
38
38
|
# @param confirm_email_verification_request
|
|
39
39
|
# @param [Hash] opts the optional parameters
|
|
40
40
|
# @return [ConfirmEmailVerificationResponse]
|
|
@@ -96,7 +96,7 @@ describe 'DevicesApi' do
|
|
|
96
96
|
|
|
97
97
|
# unit tests for register_device
|
|
98
98
|
# Register a device
|
|
99
|
-
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you.
|
|
99
|
+
# Register a device for push notifications. Registration is an upsert keyed on (project, token), so calling it on every app launch is safe and idempotent. Re-registering an existing token under a different `user_id` **reassigns** the device to that user — the previous association does not persist, so a push addressed to the old user will not reach this device. `user_id` is an opaque string you choose. It is stored verbatim with no foreign key, and `POST /v1/push` matches on exactly that value. No Subscriber record is created for you. Call this from your backend and derive `user_id` from the authenticated session rather than the request body. **Two credentials are accepted, and the choice matters for push routing:** - **Application credentials** — `X-Application-Key` + `X-Application-Secret` (`za_*`). The device is bound to that application, and pushes to it resolve *that application's* push provider credentials. Use this when a single project contains more than one app: APNs credentials are bound to a bundle id, so a device registered under the wrong application has its pushes rejected by Apple. The application is taken from the credential and can never be set from the request body. Using an **environment-scoped** key (`za_test_pub_*` / `za_live_pub_*`) also binds the device to that environment, which is what lets APNs sandbox and production credentials be configured separately. A legacy application-level key (`za_pub_*`) binds the application only, and such devices will not match an environment-scoped push config. - **Project secret API key** (`zy_*`) — the device is not bound to any application and resolves the project-level push provider config. This is the historical behaviour and remains supported.
|
|
100
100
|
# @param register_device_request
|
|
101
101
|
# @param [Hash] opts the optional parameters
|
|
102
102
|
# @return [DeviceResponse]
|
data/zyphr.gemspec
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zyphr
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.59
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zyphr
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-08-
|
|
11
|
+
date: 2026-08-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|