Siftsciex v0.5.0 Siftsciex.Event.Content View Source
Sift Science supports three types of events around the creation of a Listing, creation, updating, status changes. Updates and Status Changes are conceptually similar but Updates are specifically for changes to the data relating to a Listing while status changes can be more ephemerial and can indicate various lifecycle/visibility states.
Link to this section Summary
Functions
Constructs a $create_content.$listing Event for Sift Science
Constructs a $create_content.$message Event for Sift Science
Constructs a $update_content.$listing Event for Sift Science
Constructs an $update_content.$message Event for Sift Science
Link to this section Types
status() :: :draft | :pending | :active | :paused | :deleted_by_user | :deleted_by_company
t() :: %Siftsciex.Event.Content{
"$account_type": Siftsciex.Event.Payload.payload_string(),
"$api_key": String.t(),
"$content_id": Siftsciex.Event.Payload.payload_string(),
"$ip": Siftsciex.Event.Payload.payload_string(),
"$listing": :empty | Siftsciex.Event.Payload.Listing.t(),
"$message": :empty | Siftsciex.Event.Payload.Message.t(),
"$session_id": Siftsciex.Event.Payload.payload_string(),
"$status": Siftsciex.Event.Payload.payload_string(),
"$type": Siftsciex.Event.Payload.payload_string(),
"$user_id": Siftsciex.Event.Payload.payload_string()
}
Link to this section Functions
create_listing(listing_data()) :: Siftsciex.Event.Content.t()
Constructs a $create_content.$listing Event for Sift Science
Parameters
data: The listing data (Siftsciex.Event.Content.listing_data/0)
Examples
iex> Content.create_listing(%{user_id: "bob", content_id: "8", status: :draft, listing: %{subject: "Chair", contact_address: %{name: "Walt", city: "Albuquerque"}, listed_items: [%{item_id: "8", price: 3, currency_code: "USD"}]}})
%Content{"$type": "$create_content", "$api_key": "test_key", "$user_id": "bob", "$content_id": "8", "$status": "$draft", "$listing": %Siftsciex.Event.Payload.Listing{"$subject": "Chair", "$contact_address": %Siftsciex.Event.Payload.Address{"$name": "Walt", "$city": "Albuquerque"}, "$listed_items": [%Siftsciex.Event.Payload.Item{"$item_id": "8", "$price": 3000000, "$currency_code": "USD", "$quantity": 1}]}}
create_message(message_data()) :: Siftsciex.Event.Content.t()
Constructs a $create_content.$message Event for Sift Science
Parameters
data: The message data (Siftsciex.Event.Content.message_data/0)
Examples
iex> Content.create_message(%{user_id: "bob", content_id: "8", message: %{body: "Hi", recipient_ids: ["sue"]}})
%Content{"$type": "$create_content", "$api_key": "test_key", "$user_id": "bob", "$content_id": "8", "$message": %Siftsciex.Event.Payload.Message{"$body": "Hi", "$recipient_user_ids": ["sue"]}}
update_listing(listing_data()) :: Siftsciex.Event.Content.t()
Constructs a $update_content.$listing Event for Sift Science
Parameters
data: The listing data (Siftsciex.Event.Content.listing_data/0)
Examples
iex> Content.update_listing(%{user_id: "bob", content_id: "8", status: :draft, listing: %{subject: "Chair", contact_address: %{name: "Walt", city: "Albuquerque"}, listed_items: [%{item_id: "8", price: 3, currency_code: "USD"}]}})
%Content{"$type": "$update_content", "$api_key": "test_key", "$user_id": "bob", "$content_id": "8", "$status": "$draft", "$listing": %Siftsciex.Event.Payload.Listing{"$subject": "Chair", "$contact_address": %Siftsciex.Event.Payload.Address{"$name": "Walt", "$city": "Albuquerque"}, "$listed_items": [%Siftsciex.Event.Payload.Item{"$item_id": "8", "$price": 3000000, "$currency_code": "USD", "$quantity": 1}]}}
update_message(message_data()) :: Siftsciex.Event.Content.t()
Constructs an $update_content.$message Event for Sift Science
Parameters
data: The message data (Siftsciex.Event.Content.message_data/0)
Examples
iex> Content.update_message(%{user_id: "bob", content_id: "8", message: %{body: "Hi", recipient_ids: ["sue"]}})
%Content{"$type": "$update_content", "$api_key": "test_key", "$user_id": "bob", "$content_id": "8", "$message": %Siftsciex.Event.Payload.Message{"$body": "Hi", "$recipient_user_ids": ["sue"]}}