Pulling eBay watched item ending notifications

I'm trying to figure out how to use my Yun to pull "watched item ending" and "outbid" notifications to push to a wearable that vibrates to let someone know when those things are happening without having to look at their computer/phone.

Is this possible? Has anyone tried something like this? Any tips?

Another idea I had was since eBay sends me emails with these notifications, maybe finding a way for the Yun to pull an email tagged with the phrase "watched item ending" or "outbid" that would trigger a servo. Could this be accomplished in Temboo?

It is not pull but push, push by Ebay while event take place.

Yun side:

nano /www/ebay.php
<?php
require ("bridgeclient.class.php");

$client = new bridgeclient();

$client->put("D13","On");

echo "OK";
?>

Arduino Side:

#include <Bridge.h>
void setup()
{
   	Bridge.begin();    
}
void loop()
{
	char lbuffer[256]; 
	Bridge.get("D13", lbuffer, 256); 
	delay(1000);	
}

access http://.../ebay.php will trigger D13

...” is your public ip address of Yun

Ebay Side:

Subscribing to Platform Notifications with http://.../ebay.php

OutBid Notification Ebay API call “http://.../ebay.php” for the notification to be sent via API (“Platform”)

http://developer.ebay.com/Devzone/guides/ebayfeatures/Notifications/Notifications.html

B.T.W. Yun might not be good candidate for wearable device.

I got the “GetItemStatus” choreo from Temboo to successfully print the specific item’s data in the serial monitor. Now I’m trying to figure out how to take the “EndTime,” subtract 5 minutes from that, and have that time trigger a servo.

Here’s the working Yun code. I’m omitting the AppID since I’m not sure if that’s a confidential number or not…haha.

#include <Bridge.h>
#include <Temboo.h>
#include “TembooAccount.h” // contains Temboo account information, as described below

int numRuns = 1; // Execution count, so this doesn’t run forever
int maxRuns = 10; // Maximum number of times the Choreo should be executed

void setup() {
Serial.begin(9600);

// For debugging, wait until the serial console is connected.
delay(4000);
while(!Serial);
Bridge.begin();
}

void loop() {
if (numRuns <= maxRuns) {
Serial.println(“Running GetItemStatus - Run #” + String(numRuns++));

TembooChoreo GetItemStatusChoreo;

// Invoke the Temboo client
GetItemStatusChoreo.begin();

// Set Temboo account credentials
GetItemStatusChoreo.setAccountName(TEMBOO_ACCOUNT);
GetItemStatusChoreo.setAppKeyName(TEMBOO_APP_KEY_NAME);
GetItemStatusChoreo.setAppKey(TEMBOO_APP_KEY);

// Set Choreo inputs
GetItemStatusChoreo.addInput(“ItemID”, “281510425120”);
GetItemStatusChoreo.addInput(“AppID”, “VCUBrand-0111-4fc7-8764-xxxxxxxxxxx”); //I replaced the AppID with x’s

// Identify the Choreo to run
GetItemStatusChoreo.setChoreo("/Library/eBay/Shopping/GetItemStatus");

// Run the Choreo; when results are available, print them to serial
GetItemStatusChoreo.run();

while(GetItemStatusChoreo.available()) {
char c = GetItemStatusChoreo.read();
Serial.print(c);
}
GetItemStatusChoreo.close();
}

Serial.println(“Waiting…”);
delay(30000); // wait 30 seconds between GetItemStatus calls
}

An example of what is printed in the serial monitor is this (note: this is not what is printed in mine, this is the example I pulled from Temboo):

{
@xmlns”: “urn:ebay:apis:eBLBaseComponents”,
“Timestamp”: “2013-08-29T20:32:43.596Z”,
“Ack”: “Success”,
“Build”: “E835_CORE_APILW_16258427_R1”,
“Version”: “835”,
“Item”: {
“ItemID”: “110121903191”,
“EndTime”: “2013-08-27T19:58:01.000Z”,
“BidCount”: “1”,
“ConvertedCurrentPrice”: {
@currencyID”: “USD”,
#text”: “20.0”
},
“HighBidder”: {
“UserID”: “s***_”
},
“ListingStatus”: “Completed”,
“TimeLeft”: “PT0S”
}
}

I want to take the "“2013-08-27T19:58:01.000Z” subtract 5 minutes from that, so “2013-08-27T19:53:01.000Z” and have a servo trigger at that time. Is that even possible?

@sonnyyu

This is probably what I need for my somewhat similar project. Thanks!

Your example seems to differ from the one at http://arduino.cc/en/Tutorial/Bridge on the Arduino side.

Can you explain when to use which approach?

badluckbritt: I want to take the ""2013-08-27T19:58:01.000Z" subtract 5 minutes from that, so "2013-08-27T19:53:01.000Z" and have a servo trigger at that time. Is that even possible?

You have to parse the text to extract the string you want. Then you can convert the string into a number and do the math you need on it.

Here is an example where the output string is processed to extract data http://arduino.cc/en/Tutorial/TimeCheck

@SomethingClever

This is sample for put an php page into web server ( uhttpd) which is Endpoint URL for Ebay Platform Notifications call back.

@badluckbritt

Your code use temboo API.

Monthly call#=2*60*24*30=86,400

https://www.temboo.com/pricing

The temboo monthly cost $49 per product, if You need monitor multiple products then bill will be rocket-up.

Your code also use Ebay API.

Ebay API has Call limit: 5000 per day.

Daily call#=2*60*24=2,880

if you can not monitor more than 1 product.

How ever Platform Notifications API:No limit

http://go.developer.ebay.com/developers/ebay/ebay-api-call-limits