Imports

Imports are the primary way to load members into your organization over the API. You can import members in bulk by uploading a CSV file in the dashboard or by using the API directly.

The import model

The import object looks like the following json:

Properties

  • Name
    organization_id
    Type
    string|Required
    Description

    The identifier of the organization the import belongs to.

  • Name
    users
    Type
    array[object]|Required
    Description

    An array of user objects.

  • Name
    user
    Type
    object
    Description
    {
         "email": "The users email address, Required",
         "brand_id": "The brand id the user should be added to, Required",
         "name": "The users name, Required",
         "points": "The amount of points the user should receive for this import, Required",
         "storecard": "The identifier of the storecard the user should get, Required",
         "phone_number": "The users phone number",
         "licenseplate": "The users licenseplate",
         "start_date": "The start date of the users membership",
         "expires_at": "The date the membership expires",
         "external_reference": "The external reference of the user",
         "tag_id": "The identifier of the tag the user should be added to",
         "location_id": "The external_id of the location that should be set as the users favorite location",
         "welcome_email": "If the user should receive a welcome email, defaults to false",
         "update_mail": "If the user should receive a update mail, defaults to false",
    }
    

POST/v2/import

Import members

This endpoint allows you to import a list of members. Max up to 2000 members per request.

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    import
    Type
    string
    Description

    The scope required to access this endpoint.

Request body

  • Name
    users
    Type
    array[object]
    Description

    An array of user objects.

Request

POST
/v2/import
curl -X GET https://api.walletapp.co/v2/import \ 
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
- d '{
    "organization_id": "<organization_id>",
    "users": [
        {
            "email": "<email>",
            "brand_id": "<brand_id>",
            "name": "<name>",
            "points": 1,
            "storecard": "<storecard_id>",
            "phone_number": "<phone_number>",
            "licenseplate": "<licenseplate>",
            "start_date": "<start_date>",
            "expires_at": "<expiration_date>",
            "external_reference": "<uuid>",
            "tag_id": "<tag_id>",
            "location_id": "<external_location_reference>",
            "welcome_email": 0,
            "update_mail": 0
        },
        ...
    ]
}'

Response

{
    "import_id": "<uuid>",
    "imported_members": 1
}

GET/import/log

Get history

List when the members of brand last received points

Required headers

  • Name
    Authorization
    Type
    string
    Description

    The token itself as a bearer token.

Abilities

  • Name
    brand.import
    Type
    string
    Description

    The scope required to access this endpoint.

Request body

  • Name
    brand_id
    Type
    string|Required
    Description

    The brand id.

Request

GET
/import/log
curl -X GET https://api.walletapp.co/v2/import \ 
-H "Content-Type: application/json"
-H "Accept: application/json"
-H "Authorization: Bearer <your_token>"
- d '{
    "brand_id": "<brand_id>",
}'

Response

{
    "success": true,
    "data": [
        {
            "email": "<email>",
            "last_updated": "<timestamp|string>"
        },
        ...
    ]
}