Private APIs

Create and Edit customers

Create a new customer.

post

Create a new customer Role: Organization Manager Scope: organization_write, customer_write If deduplicate query params is used, the API search if the customer with the deduplicate parameters exists. If exists the abi perform an update. (During update the following values are ignored: source, username and password)

Authorizations
Query parameters
deduplicatestringOptional

This field could have the following values: phoneNumber, email, extId, extProp1, extPro2, guid. Multiple values are allowed and comma separated. Values are case sensitive

Body
organizationIdstringOptional

Organization id. (required)

locationIdstringOptional

locationId of new customer. If not present it's choose the default

hotspotIdstringOptional

hotspot id

sourcestring · enumOptional

required

Possible values:
usernamestringOptional

Username of new customer. If empty a random one is assigned

passwordstringOptional

Password of new customer. If empty a random one is assigned

firstNamestringOptional

First name

lastNamestringOptional

Last name

phoneNumberstringOptional

Phone number in E.164 format

Example: +14155552671
phoneVerifiedbooleanOptional

Phone number is verified

emailstringOptional

Customer email

emailVerifiedbooleanOptional

Email address is verified

genderstring · enumOptional

Gender of customer

Possible values:
birthDatestringOptional

Birthdate. Format YYYY-MM-DD

Example: 1975-03-16
languagestringOptional

Customer language. Format: ISO 639-1 codes

Example: en
countrystringOptional

Customer country. Format: ISO 3166-2 codes

Example: gb
zipCodestringOptional

Zipcode

companyNamestringOptional

Company name

civilStatusstring · enumOptional

Civil status

Possible values:
doubleOptinstring · enumOptional

Double optin

Possible values:
customobjectOptional

Custom attributes

Example: {"custom1":"custom value","property": "1234"}
picturestringOptional

Customer picture

lockbooleanOptional

If true new customer cannot login. Need to be unlocked. Default vaule true

profileIdstringOptional

Internet plan.

extIdstringOptional

External id.

extProp1stringOptional

External property n 1.

extProp2stringOptional

External property n 2.

Responses
200
status OK
application/json
post
POST //v3/customers HTTP/1.1
Host: explore.cloud4wi.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 1061

{
  "organizationId": "text",
  "locationId": "text",
  "hotspotId": "text",
  "source": "controlpanel",
  "username": "text",
  "password": "text",
  "firstName": "text",
  "lastName": "text",
  "phoneNumber": "+14155552671",
  "phoneVerified": true,
  "email": "text",
  "emailVerified": true,
  "gender": null,
  "birthDate": "1975-03-16",
  "language": "en",
  "country": "gb",
  "zipCode": "text",
  "companyName": "text",
  "civilStatus": null,
  "doubleOptin": null,
  "custom": "{\"custom1\":\"custom value\",\"property\": \"1234\"}",
  "picture": "text",
  "policies": {
    "privacy": true,
    "termsOfUse": true,
    "minimumAgeVerification": true,
    "mktgCommunications": true,
    "customs.*": "\"customs.my_policy\":true"
  },
  "document": {
    "memberId": "text",
    "number": "text",
    "passportNumber": "text",
    "personalId": "text",
    "type": "text"
  },
  "lock": true,
  "profileId": "text",
  "extId": "text",
  "extProp1": "text",
  "extProp2": "text",
  "processingData": {
    "profiling": true,
    "processingPersonalData": true
  },
  "device": {
    "source": "text",
    "bundle": "text",
    "vendorId": "text",
    "advId": "text",
    "installId": "text",
    "os": "text",
    "device": "text",
    "created": "text",
    "guid": "text",
    "modified": "text",
    "lastSeen": "text"
  }
}
200

status OK

{
  "status": "text",
  "generated": "text",
  "id": "text",
  "organizationId": "text",
  "locationId": "text",
  "hotspotId": "text",
  "username": "text",
  "password": "text",
  "locked": true
}

Update a customer by id

put

Role: Organization Manager Scope: organization_write, customer_write

Authorizations
Path parameters
cidstringRequired

id of the user (ID of the table wwc.customers)

Body
firstNamestringOptional

First name

lastNamestringOptional

Last name

phoneNumberstringOptional

Phone number in E.164 format

Example: +14155552671
phoneVerifiedbooleanOptional

Phone number is verified

emailstringOptional

Customer email

emailVerifiedbooleanOptional

Email address is verified

genderstring · enumOptional

Gender of customer

Possible values:
birthDatestringOptional

Birthdate. Format YYYY-MM-DD

Example: 1975-03-16
languagestringOptional

Customer language. Format: ISO 639-1 codes

Example: en
countrystringOptional

Customer country. Format: ISO 3166-2 codes

Example: gb
zipCodestringOptional

Zipcode

companyNamestringOptional

Company name

civilStatusstring · enumOptional

Civil status

Possible values:
doubleOptinstring · enumOptional

Double optin

Possible values:
customobjectOptional

Custom attributes

Example: {"custom1":"custom value","property": "1234"}
extIdstringOptional

Identifier of the customer inside an external service

extProp1stringOptional

Identifier of the customer inside an external service

extProp2stringOptional

Identifier of the customer inside an external service

Responses
200
status OK
application/json
put
PUT //v3/customers/{cid} HTTP/1.1
Host: explore.cloud4wi.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 557

{
  "firstName": "text",
  "lastName": "text",
  "phoneNumber": "+14155552671",
  "phoneVerified": true,
  "email": "text",
  "emailVerified": true,
  "gender": null,
  "birthDate": "1975-03-16",
  "language": "en",
  "country": "gb",
  "zipCode": "text",
  "companyName": "text",
  "civilStatus": null,
  "doubleOptin": null,
  "custom": "{\"custom1\":\"custom value\",\"property\": \"1234\"}",
  "processingData": {
    "profiling": true,
    "processingPersonalData": true
  },
  "document": {
    "memberId": "text",
    "number": "text",
    "passportNumber": "text",
    "personalId": "text",
    "type": "text"
  },
  "extId": "text",
  "extProp1": "text",
  "extProp2": "text"
}
200

status OK

{
  "status": "text",
  "generated": "text"
}

Token-based customer authentication

Retrieve a temporary authentication token for a customer.

This can be used, for example, to access the Passpoint Download page for a specific customer by redirecting the user to

https://osu.cloud4wi.com/activate/[customerToken]

Get customerId from token

get

Retrieves customerId id by a specific token

Role: Organization Manager Scope: organization_write

Authorizations
Path parameters
tokenstringRequired

The token to retrieve information for

Responses
200
Successful response
application/json
get
GET //v2/customers/tokens/{token} HTTP/1.1
Host: explore.cloud4wi.com
Authorization: Bearer JWT
Accept: */*
{
  "generated": "2024-05-09T14:43:07Z",
  "status": "OK",
  "customerId": "abcdfefg"
}

Get token for a customer

get

Retrieves a token for a specific customer

Role: Organization Manager Scope: organization_write

Authorizations
Path parameters
cidstringRequired

The customer ID

Query parameters
expirationinteger · min: 1 · max: 86400Required

Expiration time of the token in seconds (values between 1 and 86400)

maxHitsinteger · min: 1 · max: 100Required

Hits for requesting the token (values between 1 and 100)

Responses
200
Successful response
application/json
get
GET //v2/customers/{cid}/token HTTP/1.1
Host: explore.cloud4wi.com
Authorization: Bearer JWT
Accept: */*
200

Successful response

{
  "generated": "2024-05-09T14:42:59Z",
  "status": "OK",
  "osuCustomerToken": "43e5a823d114e3266a84c9cc75705bd14186aee5dbe8397ab3032"
}

Last updated

Was this helpful?