createSession method
Future<KletsoSessionBootstrap>
createSession({
- required String agentId,
- required KletsoDevice device,
- String? userToken,
- String? visitorId,
- JsonMap context = const <String, Object?>{},
override
POST /v1/sessions.
Implementation
@override
Future<KletsoSessionBootstrap> createSession({
required String agentId,
required KletsoDevice device,
String? userToken,
String? visitorId,
JsonMap context = const <String, Object?>{},
}) async {
await _latency();
if (_closed) throw const KletsoStateException('backend closed');
final endUserId = userToken != null
? 'eu_${userToken.hashCode.toRadixString(36)}'
: 'eu_${(visitorId ?? 'anon').hashCode.toRadixString(36)}';
final session = _Session(
id: _id('ses'),
token: 'kst_${_id('tok')}',
endUserId: endUserId,
anonymous: userToken == null,
context: Map<String, Object?>.of(context),
);
_sessions[session.token] = session;
return _bootstrap(session);
}