Skip to main content

Tangible Datastream

Datastream is a solution for analytics and event tracking in external systems.

API Data Format 10 Nov 2022​

info

Below is brainstorm phase and subject to change. When it's done this and the sentence before this will be gone. So just a warning this information is in flux.

WSForms​

Right now we're intentionally sending:

  • integration: wsform
  • action: form_submitted (idk why we put an _ here, probably juts programmer brain took over.)
  • userID: this is from the submit object with the form.
  • date_added: this is also with the submit object of the form. (I think this is when the form was submitted? If so this could use a better keyname, something like "date_submitted".
  • data:
    • entry:
      • label: the actualy label name (Such as "First Name", "age", etc)
      • value: the value input by the user (Such as "Mark", "34" , etc)

LearnDash​

Right now we're intentionally sending:

  • integration: learndash

  • action: this changes depending on the event, could be any of the following: learndash_update_user_activity, learndash_course_completed, learndash_lesson_completed, learndash_topic_completed, learndash_quiz_completed, learndash_essay_graded, learndash_assignment_approved, learndash_comment_post, learndash_user_enrolled_in_course, learndash_user_enrolled_in_group, learndash_user_purchased_group(what is this one? I'll have to check.)

Gravity Forms​

Tangible Resources​

  • integration: Tangible Resource Library
  • action: resource downloaded
  • data:
    • attachment_id: integer id of the resource download
    • attachment_url: url of the resource download
    • created_date: time of this resource download
    • created_time: I'm not sure looks like gibberish (integer)
  • download_id: integer id of the resource download (different from attachment_id)
  • download_message: message given with download (blank if none)
  • download_status: string giving status of download (should be "completed")
  • number_of_downloads: how many times this resource has been downloaded.
  • user:
    • hashed_annonymous_id: no idea what this is.
    • user_agent: information about the client the user is using
    • user_id: id of the user on the site.
    • user_ip: ip of the user.

Freebies we get on everything we send

We get the headers of the request sent through, I don't know if this is preventable but some of the information is useful like cf-ipcountry which gives the Country code of the person submitting. We also get a timestamp, but sending our own date_submitted is probably more useful because we can control the way it's formatted. Both the timestamp and date_submitted are currently sending in Universal Time, and Gab said this is probably a good thing because the destinations receiving the data will be able to easily format this into whatever time zone the client eventually wants to look at.