Skip to content

Getting Accounts

Unmanagable Accounts

Within MyPup the accounts are "shared" accross all the tenants. This means that the e-mail addresses are globally unique. Only accounts that are linked to a PickUpPoint that you (the tenant) can manage can be managed (looked up and/or changed). All other accounts cannot be looked up. It is however possible to check if an e-mail address is already registered with MyPup by using the GetAccount call.

Respect Account Privacy

Using these API-calls you gain access to personal information. Please use these calls wisely with respect to the GDPR.

GetAccount

Location /v1/Account/GetAccount

Can be used to check if an account exists or to get full account's details. You can search for an account using the username or the e-mail address. When multiple fields are specified, accounts are searched in the following order: userUid, username, emailAddress. If no fields are specified or no accounts could not be found the result message's userUid field is null.

When the account exists but you cannot manage the account (isExisting is true and canManageUser is false) the result will contain the userUid of the existing user.

{
    # Mandatory Fields
    "userName": null,               # Search the user by its username
    "emailAddress": null,           # Search the user by its email address
    "userUid": null                 # Search the user by its uid
}
POST /v1/Account/GetAccount HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
  "emailAddress": "janjanssen@domain.com",
  "userName": null,
  "userUid": null
}
{
  "isExisting": true/false,         # True when the account exists and was found.
  "userName": "JJansen",            # Username (if found)
  "userUid": "638f2f...a2fa",       # Unique identifier (if found)
  "canManageUser": true/false,      # True when the authenticated user (you) can manage/change/see the 
                                    # user's details. If the user/account is managed by another
                                    # tenant then this will be false and all the other fields are null.
  "userName": "janjansen80",
  "firstName": "Jan",
  "lastName": "Janssen",
  "emailAddress": null,
  "phoneNumber": null,
  "mainPupUid": "6d35...2f63",      # Linked main pick up point for this account.
  "mainPupName": "Pup Name",
  "mailCode": "MyPup A...F",        # Mail delivery code of this account
  "languageCode": "en-GB",          # Optional language code of the account.
  "street": null,
  "mailbox": null,
  "city": null,
  "countryCode": null,

  "success": true/false,            # Command executed successfully
  "error": null,                    # Error code (if any)
  "message": null                   # Error message (if any)
}
error code Description
Generic Error Codes Any of the generic error codes.

GetAccounts

Location /v1/Account/GetAccounts

Can be used to search for accounts (that can be managed).

{
    # Mandatory Fields
    "userName": null,                   # Search the user by its username. You can use the 
    "emailAddress": null,               # Search the user by its email address

    "fullName": null,                   # Search the user by full name
    "pupUid": null,                     # Search users by pick up point uid
    "phoneNumber": null,                # Search the user by its phone number
    "mailCode": null,                   # Search the user by mail code

    # Optional Fields
    "includeEmail": null/true/false,    # True when to include email in the result. 
                                        # Default: true
    "includeFullName": null/true/false, # True when to include first and last name in the result. 
                                        # Default: true
    "includeMainPup": null/true/false,  # True when to include default main PUP in the result. 
                                        # Default: true
    "includeAddress": null/true/false,  # True when to include address in the result. 
                                        # Default: false
    "includeLanguage": null/true/false, # True when to include language in the result. 
                                        # Default: false
    "includeMailCode": null/true/false, # True when to include delivery mail code in the result. 
                                        # Default: false
    "includePhone": null/true/false,    # True when to include phone number in the result. 
                                        # Default: false

    "pageNo": 1,                        # Page number, starting from 1
    "pageSize": 10,                     # Number of items on a single page. Min: 1, Max: 500
}
POST /v1/Account/GetAccounts HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
  "emailAddress": "janjanssen@domain.com",
  "userName": null,
  "fullName": null,     
  "pupUid": null,       
  "phoneNumber": null,
  "mailCode": null,
  "includeAddress": true
}
{
    "items": [
        {
            "canManage": true/false,
            "userName": "janjansen80",
            "firstName": "Jan",
            "lastName": "Janssen",
            "emailAddress": null,
            "phoneNumber": null,
            "mainPupUid": "6d35...2f63",    # Linked main pick up point for this account.
            "mainPupName": "Pup Name",
            "languageCode": "en-GB",        # Optional language code of the account.
            "mailCode": "MyPup A...F",      # Mail delivery code of this account
            "street": null,                 # Because includeAddress = true in the request
            "mailbox": null,                # Because includeAddress = true in the request
            "city": null,                   # Because includeAddress = true in the request
            "countryCode": "NL",            # Because includeAddress = true in the request
        }
    ],
    "pageNo": 1,                    # Current page number
    "pageSize": 1,                  # Amount of items per page
    "totalItems": 1,                # Total amount of items
    "totalPages": 1,                # Total amount of pages
    "success": true/false,          # Command executed successfully
    "error": null,                  # Error code (if any)
    "message": null                 # Error message (if any)
}
error code Description
Generic Error Codes Any of the generic error codes.

GetAccountPickUpPoint

Location /v1/Account/GetAccountPickUpPoint

Gets the main pick up point that is linked to an account

{
    # Mandatory Fields
    "userUid": null                 # Search the user by its uid
}
POST /v1/Account/GetAccountPickUpPoint HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "userUid": "638f2f...a2fa"
}
{
    "userUid": "6bac2b9....c436966b4a",
    "mailCode": "MYPUP ABCDEF GHIJKL",          # Full MailCode specific for this user
    "mailCodeFirstName": "MYPUP ABCDEF",        # Part of the MailCode used as 'first name'
    "mailCodeLastName": "GHIJKL",               # Part of the MailCode used as 'last name'
    "pupUid": "f3c75e3c......96996714c3",
    "name": "Pick Up Point A",
    "timeZone": "Europe/Amsterdam",
    "deliveryAddress": {
        "streetName": "Kuiperbergweg 32",
        "mailbox": "1101 AG",
        "city": "Amsterdam",
        "countryIso2": "NL",
        "latitude": 52.0,
        "longitude": 4.9
    },
    "locationAddress": {
        "streetName": "Kuiperbergweg 32",
        "mailbox": "1101 AG",
        "city": "Amsterdam",
        "countryIso2": "NL",
        "latitude": 52.0,
        "longitude": 4.9
    },
    "success": true,
    "error": null,
    "message": null
}
error code Description
Generic Error Codes Any of the generic error codes.

GetAccountMutationConfig

Location /v1/Account/GetAccountMutationConfig

Can be used to configure which fields can be modified by the account itself and other non-administrator users.

{
    # Mandatory Fields
    "userUid": null                 # Search the user by its uid
}
POST /v1/Account/GetAccountMutationConfig HTTP/1.1
Host: api.staging.mypup.app
Authorization: Bearer ......
Content-Type: application/json

{
    "userUid": "638f2f...a2fa"
}
{
  "userUid": "638f2f...a2fa",           # Unique identifier (if found)
  "canChangeFirstName": true/false      
  "canChangeLastName": true/false
  "canChangeEmailAddress": true/false
  "canChangePhoneNumber": true/false
  "canChangeLanguageCode": true/false
  "canChangeMainPickUpPoint": true/false
  "canChangeAddress": true/false
  "canRemoveAutomatically": true/false  # Account will never be removed automatically by 
                                        # The automatic cleanup process
  "canRemoveManually": true/false       # Account cannot be removed by the account itself or
                                        # by other non-administrator users.
  .  
  "success": true/false,                # Command executed successfully
  "error": null,                        # Error code (if any)
  "message": null                       # Error message (if any)
}
error code Description
Generic Error Codes Any of the generic error codes.