@memori.ai/memori-api-client
Version:
React library to integrate a Memori in your app or website
51 lines (46 loc) • 1.31 kB
text/typescript
import { ResponseSpec, OpenSession, DialogState } from '../types';
import { apiFetcher } from '../apiFetcher';
/*******************
* *
* Session *
* *
*******************/
export default (apiUrl: string) => ({
/**
* Initializes a new Dialog State Machine session for an existing Memori.
*/
initSession: async (params: OpenSession, userAgent?: string) =>
apiFetcher(`/Session`, {
method: 'POST',
body: params,
headers: userAgent ? { 'User-Agent': userAgent } : undefined,
apiUrl,
}) as Promise<
ResponseSpec & {
sessionID: string;
currentState: DialogState;
}
>,
/**
* Returns the current state of a session's Dialog State Machine.
* @param {string} sessionId The session ID
*/
getSession: async (sessionId: string) =>
apiFetcher(`/Session/${sessionId}`, {
method: 'GET',
apiUrl,
}) as Promise<
ResponseSpec & {
currentState: DialogState;
}
>,
/**
* Closes the session and disposes of its Dialog State Machine.
* @param {string} sessionId The session ID
*/
deleteSession: async (sessionId: string) =>
apiFetcher(`/Session/${sessionId}`, {
method: 'DELETE',
apiUrl,
}) as Promise<ResponseSpec>,
});