Class

CustomersService

CustomersService(tokenSource, serviceUrl)

Client for the Scenid CRM Service (Customers).

Manages the entity graph: Organisational Units (OUs), Persons, and Groups, plus generic entity lookup and list operations.

Obtained via sdk.asAdmin().Customers() or sdk.asUser(idToken).Customers().

Constructor

# new CustomersService(tokenSource, serviceUrl)

Parameters:
Name Type Description
tokenSource string | function
serviceUrl string

View Source services/CustomersService.class.js, line 43

Example
const customers = sdk.asAdmin().Customers()

const { result } = await customers.Entity.get('person-abc123')
const { result: ou } = await customers.OU.create({ data: { name: 'Engineering' } }, { return: true })

Extends

Namespaces

Entities
Entity
Group
Journal
OU
Person

Methods

# delete(call, bodyopt) → {Promise.<ServiceResponse>}

Sends an authenticated DELETE request.

Parameters:
Name Type Attributes Description
call string

Path relative to serviceUrl.

body * <optional>

Optional request body, serialised to JSON.

Overrides:

View Source services/ScenidCloudService.class.js, line 152

Promise.<ServiceResponse>

# get(call) → {Promise.<ServiceResponse>}

Sends an authenticated GET request.

Parameters:
Name Type Description
call string

Path relative to serviceUrl.

Overrides:

View Source services/ScenidCloudService.class.js, line 122

Promise.<ServiceResponse>

# async makeRequest(method, call, bodyopt) → {Promise.<ServiceResponse>}

Makes an authenticated HTTP request to the service and returns the parsed response.

Acquires a token, constructs the full endpoint URL, serialises the body as JSON when provided, and parses the JSON response. Throws a typed error on network failure or non-JSON responses.

Parameters:
Name Type Attributes Description
method string

HTTP method (GET, POST, PUT, or DELETE).

call string

Path to call relative to serviceUrl (leading / optional).

body * <optional>

Request body. Serialised to JSON unless already a string.

Overrides:

View Source services/ScenidCloudService.class.js, line 66

sdk/fetch-failed – network-level failure.

Error

sdk/endpoint-invalid – service returned 404 with non-JSON body.

Error

sdk/non-json-response – response body could not be parsed.

Error
Promise.<ServiceResponse>

# post(call, bodyopt) → {Promise.<ServiceResponse>}

Sends an authenticated POST request.

Parameters:
Name Type Attributes Description
call string

Path relative to serviceUrl.

body * <optional>

Request body, serialised to JSON.

Overrides:

View Source services/ScenidCloudService.class.js, line 142

Promise.<ServiceResponse>

# put(call, body) → {Promise.<ServiceResponse>}

Sends an authenticated PUT request.

Parameters:
Name Type Description
call string

Path relative to serviceUrl.

body *

Request body, serialised to JSON.

Overrides:

View Source services/ScenidCloudService.class.js, line 132

Promise.<ServiceResponse>