Members
We provide a few apis to check the members, using these apis you can check balances and the passes for a member.
List members
This endpoint allows you to fetch all member with their data for a brand. This api contains pagination. You can use the page
and per_page
parameters to fetch the data. You can also fetch all data at once by witholding the page
and per_page
parameters.
Note
That when you fetch all data once it will take a while to process the request when having more than 3000 members.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.get
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
page
- Type
- string|Optional
- Description
The current page that you want to fetch
- Name
per_page
- Type
- string|Optional
- Description
The amount of members to return at once
Request
curl -X POST https://api.walletapp.co/members/list
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"page": "<page>",
"per_page": "<per_page>"
}'
Response
{
"message": "Request successful",
"data": {
"total": "<total_amount_of_records>",
"last_page": "<last_page>",
"next_page_url": "http://api.walletapp.co/members/list?page=<page_number>&per_page=<per_page>",
"per_page": "<per_page>",
"last_page_url": "http://api.walletapp.co/members/list?page=<last_page>&per_page=<per_page>",
"members": [
{
"email": "<member_email>",
"full_name": "<member_name>",
"identifier": "<member_identifier>",
"unsubscribed": 0,
"last_name": "<member_last_name>",
"phone_number": "<member_phone_number>",
"birth_date": "<member_birth_day>",
"street": "<member_street>",
"house_number": "<member_house_number>",
"postcode": "<member_postcode>",
"city": "<member_city>",
"country": "<member_country>",
"subscribed_at": "<member_subscribed_at>"
},
...
]
}
}
List members points
This endpoint provides a list of members with the pass qr_code and points balance.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.store
- Type
- string
- Description
The scope required to access this endpoint.
Body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
storecard_id
- Type
- string|Optional
- Description
The storecard id to get the members for.
Request
curl -X POST https://api.walletapp.co/import/export
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"storecard_id": "<storecard_id>"
}'
Response
{
"success": true,
"data": [
{
"email": "<email>",
"name": "<name>",
"points": 0,
"qr_code": "<pass_code>"
},
...
]
}
Search for email
Get a list of all the passes for a member.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.get
- Type
- string
- Description
The scope required to access this endpoint.
Query parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
email
- Type
- string|Optional
- Description
The email to search for.
- Name
user_identifier
- Type
- string|Optional
- Description
The user identifier to search for.
Request
curl -X GET https://api.walletapp.co/members
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"email": "<email>",
"user_identifier": "<User UUID>"
}'
Response
{
"success": true,
"email": "<email>",
"pass_codes": [
"<pass_code>",
...
]
}
Unsubscribe member
This endpoint allows you to unsubscribe a single member.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.store
- Type
- string
- Description
The scope required to access this endpoint.
Body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
email
- Type
- string|Required
- Description
The users email adress.
Request
curl -X PATCH https://api.walletapp.co/members/unsubscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"email": "<email>"
}'
Response
{
"message": "Request successful",
"data": "User unsubscribed"
}
Bulk unsubscribe members
This endpoints allows you to unsubscribe a list of members.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
tags.get
- Type
- string
- Description
The scope required to access this endpoint.
Body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
email
- Type
- array|Required
- Description
A list of email adresses.
Request
curl -X POST https://api.walletapp.co/members/unsubscribe
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"email": "<email>"
}'
Response
{
"message": "Request successful",
"data": {
"amount": 0,
"message": "Unsubscribed 0 members"
}
}
Members
We provide a few apis to check the members, using these apis you can check balances and the passes for a member.
Signups with IDS
This endpoint allows you to import members with extra data it returns a list with found (existing) and new members with the UUID
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.store
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
users
- Type
- Array|Required
- Description
The array with users
- Name
users.*.email
- Type
- string|Required
- Description
The users email
- Name
users.*.first_name
- Type
- string|Optional
- Description
The users first name
- Name
users.*.last_name
- Type
- string|Optional
- Description
The users last name
- Name
users.*.unsubscribed
- Type
- boolean|Optional
- Description
Wether or not the user is subscribed
- Name
users.*.subscribed_at
- Type
- DateTime|Optional
- Description
When the user subscribed, needs to be earlier than now()
Request
curl -X POST https://api.walletapp.co/members/signups
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"users": [
{
"email": "<email>",
"first_name": "<first_name>",
"last_name": "<last_name>",
"unsubscribed": "<unsubscribed>",
"subscribed_at": "<subscribed_at>"
}
]
}'
Response
{
"message": "Request successful",
"data": {
"new": {
"<email>": "<member_id>",
"<email>": "<member_id>",
"<email>": "<member_id>",
"<email>": "<member_id>"
},
"found": {
"<email>": "<member_id>"
}
}
}
Favorite location
This endpoint allows you to add a favorite location to a member. It returns the member with the new favorite location added to it.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.store
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
location_id
- Type
- string|Required
- Description
The location id to insert the members for.
- Name
users
- Type
- Array|Required
- Description
The array with users
- Name
users.*
- Type
- string|Required
- Description
The users identifier
Request
curl -X POST https://api.walletapp.co/members/location
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"location_id": "<location_id>",
"users": [
"<uuid>",
...
]
}'
Response
{
"success": true,
"users": [
"<uuid>",
...
]
}
Coupons for a member
This endpoint allow you to fetch all available coupons for a member. You can use the page
and per_page
parameters to fetch the data.
Note
Not that when the page
and per_page
are not provided we will paginate the data for you. This means that you will get the first page with 10 records.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.get
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
page
- Type
- string|Optional
- Description
The current page that you want to fetch
- Name
per_page
- Type
- string|Optional
- Description
The amount of members to return at once
Request
curl -X GET https://api.walletapp.co/members/{uuid}/coupons
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"page": "<page>",
"per_page": "<per_page>"
}'
Response
{
"current_page": 1,
"data": [
{
"created_at": <creation_date>,
"updated_at": <update_data>,
"expiration_date": <expiration_date>,
"start_date": <start_date>,
"qr_code": <qr_code on the pass>,
"wlnt_code": <unique WLNT code>,
"coupon_title": <title of associated Coupon>,
"coupon_thumbnail_url": <image of associated Coupon>,
"coupon_external_reference": <external_reference of associated Coupon>,
"status": <status of this pass>
}
],
"first_page_url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://api.walletapp.co/members/{uuid}/coupons",
"per_page": 10,
"prev_page_url": null,
"to": 1,
"total": 1
}
Storecards for a member
This endpoint allow you to fetch all available storecards for a member. You can use the page
and per_page
parameters to fetch the data.
Note
Not that when the page
and per_page
are not provided we will paginate the data for you. This means that you will get the first page with 10 records.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.get
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to get the members for.
- Name
page
- Type
- string|Optional
- Description
The current page that you want to fetch
- Name
per_page
- Type
- string|Optional
- Description
The amount of members to return at once
Request
curl -X GET https://api.walletapp.co/members/{uuid}/storecards
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
"page": "<page>",
"per_page": "<per_page>"
}'
Response
{
"current_page": 1,
"data": [
{
"created_at": <creation_date>,
"updated_at": <update_data>,
"expiration_date": <expiration_date>,
"start_date": <start_date>,
"qr_code": <qr_code on the pass>,
"wlnt_code": <unique WLNT code>,
"points": <points on the pass>,
"balance": <balance on the pass>,
"storecard_title": <title of the Storecard>,
"storecard_thumbnail_url": <title of the associated Storecard>,
"status": <status of this pass>
}
],
"first_page_url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
"links": [
{
"url": null,
"label": "« Previous",
"active": false
},
{
"url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "Next »",
"active": false
}
],
"next_page_url": null,
"path": "https://api.walletapp.co/members/{uuid}/storecards",
"per_page": 10,
"prev_page_url": null,
"to": 1,
"total": 1
}
Delete a member
This endpoint allows you delete the user from a brand, completely removing all associations with the brand. This action is irreversible.
Required headers
- Name
Authorization
- Type
- string
- Description
The token itself as a bearer token.
Abilities
- Name
members.store
- Type
- string
- Description
The scope required to access this endpoint.
Query / body parameters
- Name
brand_id
- Type
- string|Required
- Description
The brand id to delete the members for.
Request
curl -X GET https://api.walletapp.co/members/{uuid}
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
-d '{
"brand_id": "<brand_id>",
}'
Response
{
"success": true,
"message": "Member deleted"
}