Skip to content
ecoad edited this page Jun 13, 2011 · 10 revisions

API for the Gawk Wall

Table of Contents

Version 0.4

  • Added Video API
  • Added Wall API
  • Added MemberWallBookmark API
  • Added MemberRating API
  • Added MemberFriend API

API Location

Data Structures

Member

{
  secureId = "u-sdfsdfsdfsd" //Autodata
  firstName = "Colin",
  lastName = "Smith",
  alias = "colin1",
  facebookId = 101234442,
  password = "sdf798",
  emailAddress = "test@test.com",
  token = "sd90f8s09f8s9d08fs09df8",
}

Wall

{
  secureId = "sdf5sd56s4d56465" //Autodata;
  memberSecureId = "",
  url = "",
  description = "",
  dateCreated = "", //Autodata
  publicView = false,
  publicGawk = false
}

Video

{
  secureId = "sdf5sd56s4d56465" //Autodata
  filename = "", //Autodata
  memberSecureId = "u-sdf5sd56s4d56465",
  wallSecureId = "sdfsdf22ewf",
  hash = "sdf8s7d9f87sd89f7sd9sdf789sdf", //sha1 of file
  uploadSource = "iphone",
  dateCreated = "", //Autodata
  approved = false,
  rating = 0,
  videoControlAuthorised = false, //Autodata if logged in member can delete video
}

Methods

Member

Register

Request

  • Method: POST
  • Request data:
{
  Action: string "Member.RegisterMember",
  MemberData: Member {Member}
  //Need to implement some sort of CAPTCHA
}
Response
{
  "success": true,
  "member": {Member},
  "errors": ["Bad email address/password combination"]
}

Login Site Registered Member

Request

  • Method: POST
  • Request data:
{
  Action: string "Member.Login"
  EmailAddress: string {EmailAddress}
  Password: string {Password}
}
Response
{
  "success": true,
  "member": {Member},
  "errors": ["Bad email address/password combination"]
}

Login Facebook Member

Request

  • Method: POST
  • Request data:
{
  Action: string "Member.Login"
  FacebookId: string {FacebookId}
  Signature: string {Signature}
  PublicKey: string {PublicKey}
}
Response
{
  "success": true,
  "member": {Member},
  "errors": ["Bad email address/password combination"]
}

Logout

Request

  • Method: POST
  • Request data:
{
  Action: string "Member.Logout"
  Token: string {Token}
}
Response
{
  "success": true,
  "errors": []
}

Get Logged In Member

Request

  • Method: GET
  • Request data:
{
  Action: string "Member.GetLoggedInMember"
  Token: string {Token}
}
Response
{
  "success": true,
  "member": {Member},
  "errors": ["Member not found"]
}

MemberWallBookmark

Get Wall Bookmarks

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberWallBookmark.GetWallBookmarks",
  Token: string {Token}
}
Response
{
  "success": true,
  "walls": [{WallA}, {WallB} ... {WallN}]
  "errors": ["Wall not found"]
}

Add Wall Bookmark

Request

  • Method: POST
  • Request data:
{
  Action: string "MemberWallBookmark.AddWallBookmark"
  Token: string {Token}
  WallSecureId: string {WallSecureId}
}
Response
{
  "success": true,
  "errors": ["Wall not found"]
}

Remove Wall Bookmark

Request

  • Method: POST
  • Request data:
{
  Action: string "MemberWallBookmark.RemoveWallBookmark"
  Token: string {Token}
  WallSecureId: string {WallSecureId}
}
Response
{
  "success": true,
  "errors": ["Wall not found"]
}

Is Bookmarked

Has the current user already bookmarked a particular wall?

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberWallBookmark.IsWallBookmarked",
  Token: string {Token},
  WallSecureId: string {WallSecureId}
}
Response
{
  "success": false,
  "errors": ["Wall not found"]
}

Get Recent Wall Activity

Retrieve the recent walls the user has created, used and featured on

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberWallBookmark.GetRecentWallActivity",
  Token: string {Token}
}
Response
{
  "success": false,
  "recentActivity": {
    bookmarks: [wall1, wall2 ...],
    recentWallParticipation: [wall1, wall2 ...],
    wallsCreatedByMember: [wall1, wall2 ...]
  }
  "errors": []
}

Member Rating

Get Rating

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberRating.GetRating",
  Token: string {Token},
  VideoSecureId: string {VideoSecureId}
}
Response
{
  "success": true,
  "positiveRating": true,
  "errors": ["Wall not found"]
}

Add Rating

Request

  • Method: POST
  • Request data:
{
  Action: string "MemberRating.AddRating",
  Token: string {Token},
  VideoSecureId: string {VideoSecureId},
  PositiveRating: string {PositiveRating} // "true" or "false"
}
Response
{
  "success": true,
  "errors": ["Wall not found"]
}

MemberFriend

Get Friends

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberFriend.GetFriends",
  Token: string {Token}
}
Response
{
  "success": true,
  "walls": [{FriendA}, {FriendB} ... {FriendN}]
  "errors": ["Member not found"]
}

Add Friend

Request

  • Method: POST
  • Request data:
{
  Action: string "MemberFriend.AddFriend",
  Token: string {Token},
  FriendSecureId: string {FriendSecureId}
}
Response
{
  "success": true,
  "errors": ["Member not found"]
}

Remove Friend

Request

  • Method: POST
  • Request data:
{
  Action: string "MemberFriend.RemoveFriend",
  Token: string {Token},
  FriendSecureId: string {FriendSecureId}
}
Response
{
  "success": true,
  "errors": ["Not friends"]
}

Is Friend

Request

  • Method: GET
  • Request data:
{
  Action: string "MemberFriend.IsFriend",
  Token: string {Token},
  FriendSecureId: string {FriendSecureId}
}
Response
{
  "success": false,
  "errors": []
}

Wall

Get Wall Videos

Request

  • Method: GET
  • Request data:
{
  Action: string "Wall.GetWallVideos",
  Token: string {Token},
  WallSecureId: string {WallSecureId},
  PreviousRunTime: int {PreviousRunTime}
}
Response
{
  "success": true,
  "videos": [{WallA}, {WallB} ... {WallN}],
  "previousRunTime": 102342349324, //Timestamp of when request was completed,
  "errors": []
}

Save Wall

Request

  • Method: POST
  • Request data:
{
  Action: string "Wall.Save",
  Token: string {Token},
  WallData: Wall {Wall}
}
Response
{
  "success": true,
  "wall": {Wall},
  "errors": []
}

Delete Wall

Request

  • Method: POST
  • Request data:
{
  Action: string "Wall.Save",
  Token: string {Token},
  WallData: Wall {Wall}
}
Response
{
  "success": true,
  "errors": []
}

Video

Save Video

Request

  • Method: POST
  • Request data:
{
  Action: string "Video.Save"
  Token: string {Token}
  Video: Video {Video}
  VideoFile: string {FileName}
}
Response
{
  "success": true,
  "video": {
    "secureId":"4d7a720900509",
    "filename":"4d7a7208f24d5.flv",
    "memberSecureId":"u-4d7a72088d88f",
    "wallSecureId":"wall-4d7a7208a135f",
    "hash":"eebc9f89f3d9212d6be83515a1c31490212a0d50",
    "uploadSource":"iphone",
    "approved":true,
    "rating":0
  },
  "errors": ["Wall not found"]
}