User Tools

Site Tools


checkincoupon

Common steps

  • Cafe signs up
  • Cafe registers their foursquare/gowalla/google-buzz location
  • Cafe creates coupon

Plan A

  • User follows coupon bot.
    • con: requires user to know about coupon service
  • Coupon bot listens to followees for checkins
  • coupon bot sends message user with coupon

Plan B

  • Coupon bot listens to registered locations.
  • Coupon bot tweets with user's twitter handle and coupon

API Research

PDX Airport most popular checkin spot in portland. The checkins for the last 3 hours are exposed.

curl -u login:password http://api.foursquare.com/v1/venue?vid=35132

<checkins>
  <checkin>
    <id>38869851</id>
    <created>Wed, 05 May 10 21:44:31 +0000</created>
    <timezone>America/Los_Angeles</timezone>
    <ismayor>true</ismayor>
    <user>
      <id>554xxx</id>
      <firstname>Angela</firstname>
      <lastname>D.</lastname>
      <photo>
        http://playfoursquare.s3.amazonaws.com/userpix_thumbs/IJRHQLWB5XXX.jpg
      </photo>
      <gender>female</gender>
    </user>
  </checkin>

The bot could have a foursquare account, and poll locations for which coupons apply. Messaging that person with the coupon is the next hurdle. Need a mechanism for reaching them, foursquare doesnt seem to have one. Also it could feel spammy to get notified at random when checking in.

$ curl -u login:password http://api.foursquare.com/v1/user?uid=554xxx

<user>
  <id>554XXX</id>
  <firstname>Angela</firstname>
  <lastname>D.</lastname>
  <photo>
    http://playfoursquare.s3.amazonaws.com/userpix_thumbs/IJRHQLWBWGXXXX.jpg
  </photo>
  <gender>female</gender>
  <twitter>hertwittername</twitter>
  <facebook>12345</facebook>
</user>

Even though we are not foursquare friends, the contact information is exposed. Most conviently the twitter handle is exposed. A twitter account for this same bot could public-tweeet @user you've got a $1 off coupon at store X for the next 15 minutes! Any good twitter client will pick up that tweet in search.

checkincoupon.txt · Last modified: 2016/06/25 11:25 (external edit)