Members

We provide a few apis to check the members, using these apis you can check balances and the passes for a member.


GET/members/list

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

GET
/members/list
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>"
            },
            ...
        ]
    }
}
POST/import/export

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

POST
/import/export
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>"
        },
        ...
    ]
}

GET/members

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

GET
/members
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>",
        ...
    ]
}

PATCH/members/unsubscribe

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

PATCH
/members/unsubscribe
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"
}

POST/members/unsubscribe

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

POST
/members/unsubscribe
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.


POST/members/signups

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

GET
/members/signups
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>"
        }
    }
}

POST/members/location

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

GET
/members/location
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>",
        ...
    ]
}

GET/members/{uuid}/coupons

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

GET
/members/{uuid}/coupons
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": "&laquo; Previous",
            "active": false
        },
        {
            "url": "https://api.walletapp.co/members/{uuid}/coupons?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "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
}

GET/members/{uuid}/storecards

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

GET
/members/{uuid}/storecards
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": "&laquo; Previous",
            "active": false
        },
        {
            "url": "https://api.walletapp.co/members/{uuid}/storecards?page=1",
            "label": "1",
            "active": true
        },
        {
            "url": null,
            "label": "Next &raquo;",
            "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/members/{uuid}

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

DELETE
/members/{uuid}
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"
    }