Agent Profile Resource

Manage information about a particular person.

createAgentProfile

Creates or merges into an agent profile document by the agent and agent profile identifier.

Example

const agent: Agent = {
  objectType: "Agent",
  name: "Test Agent",
  mbox: "mailto:test@agent.com"
};
const profileId: string = "https://example.com/profiles/myProfileId";
const profile: DocumentJson = {
  myKey: "myValue"
};

xapi.createAgentProfile({
  agent: agent,
  profileId: profileId,
  profile: profile
});

Parameters

Parameter

Type

Required

Description

agent

true

The agent experiencing the AU.

profileId

string

true

The URI of the agent profile to be created or merged into.

profile

true

The profile data to be stored.

etag

string

false

The ETag of the original document if merging.

matchHeader

string

false

The ETag header type. Accepts "If-Match" or "If-None-Match".

contentType

string

false

The content type of the profile data.

Returns

This method returns an AxiosPromise with empty success data if successful.

setAgentProfile

Creates or overwrites an agent profile document by the agent and agent profile identifier.

Example

const agent: Agent = {
  objectType: "Agent",
  name: "Test Agent",
  mbox: "mailto:test@agent.com"
};
const profileId: string = "https://example.com/profiles/myProfileId";
const profile: Document = {
  myKey: "myValue"
};

xapi.setAgentProfile({
  agent: agent,
  profileId: profileId,
  profile: profile
});

Parameters

Parameter

Type

Required

Description

agent

true

The agent experiencing the AU.

profileId

string

true

The URI of the agent profile to be created or overwritten.

profile

true

The profile data to be stored.

etag

string

true

The ETag of the original document if overwriting.

matchHeader

string

true

The ETag header type. Accepts "If-Match" or "If-None-Match".

Returns

This method returns an AxiosPromise with empty success data if successful.

getAgentProfiles

Gets an array of agent profile identifiers by the agent.

Example

const agent: Agent = {
  objectType: "Agent",
  name: "Test Agent",
  mbox: "mailto:test@agent.com"
};

xapi.getAgentProfiles({
  agent: agent
}).then((result: AxiosResponse<string[]>) => {
  const profiles: string[] = result.data;
  console.log(profiles); // ["https://example.com/profiles/myProfileId"]
});

Parameters

Parameter

Type

Required

Description

agent

true

The agent experiencing the AU.

since

Timestamp

false

Only return Agent Profiles stored since specified Timestamp.

useCacheBuster

boolean

false

Enables cache busting.

Returns

This method returns an AxiosPromise with the success data containing an array of agent profile identifiers if successful.

getAgentProfile

Gets an agent profile document by the agent and the agent profile identifier.

Example

const agent: Agent = {
  objectType: "Agent",
  name: "Test Agent",
  mbox: "mailto:test@agent.com"
};
const profileId: string = "https://example.com/profiles/myProfileId";

xapi.getAgentProfile({
  agent: agent,
  profileId: profileId
}).then((result: AxiosResponse<Document>) => {
  const profile: Document = result.data;
  // do stuff with profile
});

Parameters

Parameter

Type

Required

Description

agent

true

The agent experiencing the AU.

profileId

string

true

The URI of the profile to be retrieved.

useCacheBuster

boolean

false

Enables cache busting.

Returns

This method returns an AxiosPromise with the success data containing the stored Document if successful.

deleteAgentProfile

Deletes an agent profile document by the agent and the agent profile identifier.

Example

const agent: Agent = {
  objectType: "Agent",
  name: "Test Agent",
  mbox: "mailto:test@agent.com"
};
const profileId: string = "https://example.com/profiles/myProfileId";

xapi.deleteAgentProfile({
  agent: agent,
  profileId: profileId
});

Parameters

Parameter

Type

Required

Description

agent

true

The agent experiencing the AU.

profileId

string

true

The URI of the profile to be deleted.

etag

string

false

The ETag of the original document.

Returns

This method returns an AxiosPromise with empty success data if successful.

Last updated