This documentation is currently under development. Certain sections are not yet complete and will be added shortly.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Google Pass

Records that a holder added a pass to Google Wallet or removed it.

post
/api/{tenantId}/passes/google

Called by Google, not by tenants. save increments the pass's Google installation count (setting the Google installation date on the first one), increments its active and total installation counts, and emits a pass-installed event carrying the source the pass was downloaded from. del decrements the Google count; when it reaches zero the pass is no longer counted as saved in Google Wallet and a pass-uninstalled event is emitted. A message already processed, recognised by its nonce, changes nothing.

Path parameters
tenantIdstringRequired
Body
anyOptional
Responses
200

The installation change was recorded.

No content

post/api/{tenantId}/passes/google
POST /api/{tenantId}/passes/google HTTP/1.1
Host: app.neostore.cloud
Content-Type: application/json
Accept: */*

No content

Sends a Google Wallet user who tapped "Sign in" on a loyalty program to the tenant's sign-in page, pre-filled with any profile Google shares.

get
/api/{tenantId}/passes/google/signin

Google documents a form POST carrying SharedDataType; Google Wallet also issues a bare GET, so both are accepted. Emits a discoverable-program sign-in event, then redirects to {public site}/{tenantId}/{url} with the profile keys renamed as on the sign-up endpoint.

Path parameters
tenantIdstringRequired
Query parameters
urlstringOptional

Query url: the page path under the tenant to redirect to, set in the Google class's sign-in URL.

SharedDataTypestringOptional

Query SharedDataType: the profile as Base64Url-encoded JSON. Wins over the form field.

Body
SharedDataTypestringOptional

Form field SharedDataType: the profile as Base64Url-encoded JSON.

Responses
302

Redirect to the sign-in page with the profile as query parameters.

No content

get/api/{tenantId}/passes/google/signin
GET /api/{tenantId}/passes/google/signin HTTP/1.1
Host: app.neostore.cloud
Content-Type: multipart/form-data
Accept: */*
Content-Length: 25

{
  "SharedDataType": "text"
}

No content

Sends a Google Wallet user who tapped "Sign in" on a loyalty program to the tenant's sign-in page, pre-filled with any profile Google shares.

post
/api/{tenantId}/passes/google/signin

Google documents a form POST carrying SharedDataType; Google Wallet also issues a bare GET, so both are accepted. Emits a discoverable-program sign-in event, then redirects to {public site}/{tenantId}/{url} with the profile keys renamed as on the sign-up endpoint.

Path parameters
tenantIdstringRequired
Query parameters
urlstringOptional

Query url: the page path under the tenant to redirect to, set in the Google class's sign-in URL.

SharedDataTypestringOptional

Query SharedDataType: the profile as Base64Url-encoded JSON. Wins over the form field.

Body
SharedDataTypestringOptional

Form field SharedDataType: the profile as Base64Url-encoded JSON.

Responses
302

Redirect to the sign-in page with the profile as query parameters.

No content

post/api/{tenantId}/passes/google/signin
POST /api/{tenantId}/passes/google/signin HTTP/1.1
Host: app.neostore.cloud
Content-Type: multipart/form-data
Accept: */*
Content-Length: 25

{
  "SharedDataType": "text"
}

No content

Sends a Google Wallet user who tapped "Sign up" on a loyalty program to the tenant's sign-up page, pre-filled with the profile Google shares.

post
/api/{tenantId}/passes/google/signup

Posted by Google Wallet's WebView (discoverable program merchant sign-up flow) as a form. Emits a discoverable-program sign-up event, then redirects to {public site}/{tenantId}/{url} with the profile as query parameters. Google's keys, camelCase or legacy UPPER_SNAKE_CASE, are renamed: firstName, lastName, address (from addressLine1/STREET_ADDRESS), city, zipCode, country, email, phoneNumber (from phone/PHONE). Other keys are forwarded unchanged. Every profile field is optional.

Path parameters
tenantIdstringRequired
Query parameters
urlstringOptional

Query url: the page path under the tenant to redirect to, set in the Google class's sign-up URL.

Body
SharedDataTypestringOptional

Form field SharedDataType: the profile as Base64Url-encoded JSON, the field Google sends for loyalty classes.

userProfilestringOptional

Form field userProfile: read only when SharedDataType is absent; the name Google's offer enrollment guide uses for the same profile.

Responses
302

Redirect to the sign-up page with the profile as query parameters.

No content

post/api/{tenantId}/passes/google/signup
POST /api/{tenantId}/passes/google/signup HTTP/1.1
Host: app.neostore.cloud
Content-Type: multipart/form-data
Accept: */*
Content-Length: 46

{
  "SharedDataType": "text",
  "userProfile": "text"
}

No content

Last updated