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>"
        }
    }
}