| GET | /v1/onboarding/status |
|---|
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnboardingLock:
reason: Optional[str] = None
feature_key: Optional[str] = None
feature_name: Optional[str] = None
module_key: Optional[str] = None
module_name: Optional[str] = None
expires_at: Optional[datetime.datetime] = None
requested_at: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnboardingStep:
key: Optional[str] = None
chapter: Optional[str] = None
title: Optional[str] = None
why: Optional[str] = None
help_html: Optional[str] = None
icon: Optional[str] = None
cta_label: Optional[str] = None
cta_route: Optional[str] = None
required: bool = False
state: int = 0
done: bool = False
auto_detected: bool = False
count: int = 0
requires: List[str] = field(default_factory=list)
detects_count: bool = False
lock_key: Optional[str] = None
locked: Optional[OnboardingLock] = None
in_trial: bool = False
trial_ends_at: Optional[datetime.datetime] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnboardingChapter:
name: Optional[str] = None
color: Optional[str] = None
total: int = 0
satisfied: int = 0
full: bool = False
progress: Optional[str] = None
lock_reason: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class DispatchModuleView:
key: Optional[str] = None
mode: Optional[str] = None
name: Optional[str] = None
what: Optional[str] = None
allowed: bool = False
enabled: bool = False
in_pack: bool = False
adds: List[str] = field(default_factory=list)
go_screens: Optional[str] = None
fleet: bool = False
in_flight: int = 0
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class OnboardingStatus:
tenant_name: Optional[str] = None
property_term: Optional[str] = None
steps: List[OnboardingStep] = field(default_factory=list)
total_steps: int = 0
done_steps: int = 0
satisfied_steps: int = 0
required_total: int = 0
required_done: int = 0
percent_complete: int = 0
is_complete: bool = False
dismissed: bool = False
chapters: List[OnboardingChapter] = field(default_factory=list)
driver_services: List[DispatchModuleView] = field(default_factory=list)
driver_services_on: bool = False
modules_on: int = 0
modules_skipped: int = 0
response_status: Optional[ResponseStatus] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetOnboardingStatusRequest:
pass
Python GetOnboardingStatusRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /v1/onboarding/status HTTP/1.1 Host: api.dev.dynamics.trendsic.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
TenantName: String,
PropertyTerm: String,
Steps:
[
{
Key: String,
Chapter: String,
Title: String,
Why: String,
HelpHtml: String,
Icon: String,
CtaLabel: String,
CtaRoute: String,
Required: False,
State: 0,
Done: False,
AutoDetected: False,
Count: 0,
Requires:
[
String
],
DetectsCount: False,
LockKey: String,
Locked:
{
Reason: String,
FeatureKey: String,
FeatureName: String,
ModuleKey: String,
ModuleName: String,
ExpiresAt: 0001-01-01,
RequestedAt: 0001-01-01
},
InTrial: False,
TrialEndsAt: 0001-01-01
}
],
TotalSteps: 0,
DoneSteps: 0,
SatisfiedSteps: 0,
RequiredTotal: 0,
RequiredDone: 0,
PercentComplete: 0,
IsComplete: False,
Dismissed: False,
Chapters:
[
{
Name: String,
Color: String,
Total: 0,
Satisfied: 0,
Full: False,
Progress: String,
LockReason: String
}
],
DriverServices:
[
{
Key: String,
Mode: String,
Name: String,
What: String,
Allowed: False,
Enabled: False,
InPack: False,
Adds:
[
String
],
GoScreens: String,
Fleet: False,
InFlight: 0
}
],
DriverServicesOn: False,
ModulesOn: 0,
ModulesSkipped: 0,
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
}
}