GET | /RestApi/sitefinity/data-intelligence/conversion |
---|
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 ConversionRequestDto:
filter: Optional[str] = None
class CalculationState(str, Enum):
INACTIVE = 'Inactive'
INITIALIZING = 'Initializing'
ACTIVE = 'Active'
TO_BE_DELETED = 'ToBeDeleted'
ERROR = 'Error'
PENDING = 'Pending'
EXPIRED = 'Expired'
class MatchingOperator(str, Enum):
EXACT_MATCH = 'ExactMatch'
CONTAINS = 'Contains'
STARTS_WITH = 'StartsWith'
ENDS_WITH = 'EndsWith'
URL_STRIPPED_MATCH = 'UrlStrippedMatch'
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ConditionPart:
id: int = 0
predicate: Optional[str] = None
is_negated: bool = False
predicate_operator: Optional[MatchingOperator] = None
object_operator: Optional[MatchingOperator] = None
objects: Optional[List[str]] = None
client_attribute: Optional[str] = None
contact_property_id: Optional[str] = None
object_metadata: Optional[Dict[str, str]] = None
url_parameters: Optional[Dict[str, str]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ConditionExpression:
relation: Optional[str] = None
parts: Optional[IList[ConditionPart]] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class Conversion:
id: int = 0
name: Optional[str] = None
state: Optional[CalculationState] = None
input_days: Optional[int] = None
created_on: datetime.datetime = datetime.datetime(1, 1, 1)
modified_on: datetime.datetime = datetime.datetime(1, 1, 1)
created_by_user_id: Optional[str] = None
modified_by_user_id: Optional[str] = None
definition: Optional[ConditionExpression] = None
client_filter: Optional[ConditionExpression] = None
can_be_modified: bool = False
can_be_deleted: bool = False
content_recommendations_enabled: bool = False
attribution_calculated_on: Optional[datetime.datetime] = None
decision_tree_id: Optional[int] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ConversionsViewModel:
conversions: Optional[IList[Conversion]] = None
Python ConversionRequestDto DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json
To embed the response in a jsonp callback, append ?callback=myCallback
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /RestApi/sitefinity/data-intelligence/conversion HTTP/1.1 Host: www.asg.com.au Accept: application/json
HTTP/1.1 200 OK Content-Type: application/json Content-Length: length {}