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.