Siftsciex v0.3.1 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

Link to this type listing_data() View Source
listing_data() :: %{
  required(req_key()) => String.t(),
  :listing => Siftsciex.Event.Payload.Listing.data(),
  optional(:status) => status(),
  optional(opt_key()) => String.t()
}
Link to this type message_data() View Source
message_data() :: %{
  required(req_key()) => String.t(),
  :message => Siftsciex.Event.Payload.Message.data(),
  optional(opt_key()) => String.t(),
  optional(:status) => status()
}
Link to this type opt_key() View Source
opt_key() :: :session_id | :ip
Link to this type req_key() View Source
req_key() :: :user_id | :content_id
Link to this type status() View Source
status() ::
  :draft | :pending | :active | :paused | :deleted_by_user | :deleted_by_company
Link to this type t() View Source
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

Constructs a $create_content.$listing Event for Sift Science

Parameters

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}]}}

Constructs a $create_content.$message Event for Sift Science

Parameters

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"]}}

Constructs a $update_content.$listing Event for Sift Science

Parameters

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}]}}

Constructs an $update_content.$message Event for Sift Science

Parameters

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"]}}