We did a release last Saturday. Changes to the API were not part of the
release, so we didn't announce the release here. Unfortunately, it
looks like a few bugs were introduced on the back-end. Write to
api@... with your API key and I'll check the logs to see what
error you're hitting.
Aren
________________________________________
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of palak.chokshi
Sent: Tuesday, October 03, 2006 2:59 PM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Filter error
I get a getFastFilter called on malformed navigator url() error
message when I use
search(MyID, MyKey, "", "sf", "housing/sale", new string[] { "" },
fs, sort, 1000000, 0, "");
the method signature is
search(string partnerID, string userKey, string searchTerms, string
region, string category, string[] dimensions, Filter<U>[] filters,
Sort sort, int itemsPerPage, int startPage, string moreID);
I have created a Generic Filter class so that different types of
filter parameters can be used e.g. distance parameters are different
from price, etc.
The thing is that the code was working I tested it a week ago. and
today I get this error. why doesn't the oodle dev team ANNOUNCE
changes???
Any help is appreciated. If I figure this out myself then I'll post
my solution here.
thanks
I tried navigating to http://www.oodle.com/api/?function=search and I
get a Error: Error or invalid request message. WHAT has changed? Where
is the announcement for the change? What steps need to be taken to get
things working again? Questions questions. Hope the Oodle team's not
doodling away at their desks. (couldn't resist) :)
Thanks
I get a getFastFilter called on malformed navigator url() error
message when I use
search(MyID, MyKey, "", "sf", "housing/sale", new string[] { "" },
fs, sort, 1000000, 0, "");
the method signature is
search(string partnerID, string userKey, string searchTerms, string
region, string category, string[] dimensions, Filter<U>[] filters,
Sort sort, int itemsPerPage, int startPage, string moreID);
I have created a Generic Filter class so that different types of
filter parameters can be used e.g. distance parameters are different
from price, etc.
The thing is that the code was working I tested it a week ago. and
today I get this error. why doesn't the oodle dev team ANNOUNCE
changes???
Any help is appreciated. If I figure this out myself then I'll post
my solution here.
thanks
Here's a sample java program that uses the Oodle API. This was also
posted as a file in Files.
import java.util.HashMap;
// (optional) Get .jar from http://xstream.codehaus.org/download.html
// XStream is nice debugging resource, allows dumping of objects in
XML
// Uncomment these 2 imports and see HAS_XSTREAM flag
// import com.thoughtworks.xstream.XStream;
// import com.thoughtworks.xstream.io.xml.DomDriver;
// Command line program that retrieves a list of 100 New York
aparments
public class OodleApartment
{
static final boolean HAS_XSTREAM = false;
static final String API_KEY = Your Key; // api doc calls this
partnerID
static final String USER_KEY = Your User Key; // unique id
within partner space - use anything to test
public static void main(String[] argv) throws Exception {
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL("http://www.oodle.com/api/"));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
Vector params = new Vector();
params.add(API_KEY);
params.add(USER_KEY);
params.add("dishwasher"); // simple search term - apartment
has a dishwasher
params.add("ny"); // region, from reserved list provided by
Oodle
params.add("housing/rent/apartment"); // category, from
reserved list provided by Oodle
params.add(new Vector()); // dimensions - not really sure how
this works but put an empty one
params.add(new Vector()); // filters - not really sure how
this works but put an empty one
HashMap sortByDate = new HashMap();
sortByDate.put("key", "create_time");
params.add(sortByDate); // sort spec
params.add(new Integer(100)); // items per page
params.add(new Integer(1)); // page number - just get first
page
params.add(""); // subcategory - for tree traversal into
subcategories - empty string for none
Object[] oparams = params.toArray();
Object result = client.execute("search", oparams);
// System.out.println(result.getClass().getName());
HashMap rmap = (HashMap)result;
if (HAS_XSTREAM) {
System.out.print(toXML(rmap)); // just dump the whole
thing for debugging purposes
}
else {
int total = Integer.parseInt((String)rmap.get("total"));
Object[] items = (Object[])rmap.get("items");
for (int i = 0; i < items.length; i++) {
HashMap apt = (HashMap)items[i];
// print a couple fields out
System.out.println("id=" + apt.get("id"));
System.out.println("title=" + apt.get("title"));
long createInt = (Integer)apt.get("create_time");
createInt *= 1000; // not sure - seemed to be
missing 3 orders of magnitude
java.util.Date cr = new java.util.Date(createInt);
System.out.println("created=" + cr);
// some fields like price are optional
if (apt.get("price") != null) System.out.println
(apt.get("price"));
}
}
}
// HAS_XSTREAM=true to uncomment this
// static final XStream xs = new XStream(new DomDriver());
static public String toXML(Object bean) {
// return xs.toXML(bean);
return "XStream not active";
}
}
How do I specify a distance filter with zip=94103, value=2, units=mi
in the querystring of the api url to get a human readable result? I
already worked out how to use category, region and dimension.
Thanks
I have been trying to use the Oodle API to search for houses and
found that if I search for zipcode 94107 and region "sf" with
distance filter of 1 mile and search term "Condo" I am able to parse
the response into a class I created using xml-rpc .NET module.
However if I keep all the search parameters the same except change
the zipcode to 94107 it returns an error telling me the response
contains a field of type "int" where string was expected. It tells
me exactly what class the field is in. Here's the definition of that
class:
public class InputDimensionValues
{
public string name;
[XmlRpcMissingMapping(MappingAction.Ignore)]
public string count;
public string id;
}
This class is used in the Refinement Class which stores the
response's refinements
public class Refinement
{
[XmlRpcMember("category")]
public Category[] category;
[XmlRpcMember("dimension")]
public RefineDimension[] dimension;
}
public class RefineDimension
{
public string name;
public InputDimensionValues[] values;
}
and the field is "count". Here's what I don't understand. These
classes work great if the search is made for zipcode 94107 which
means that the response defines the field "count" as a string when
94107 is searched but it changes to int when 94103 is searched.
Maybe someone at Oodle should look into this and other
such "breaking design"
While it is true that the non-array format currently works, I would
suggest sticking to how it's documented in the API document so that your
code doesn't break when non-compliant arguments are no longer supported.
Aren
Oodle, Inc.
________________________________________
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of palak.chokshi
Sent: Tuesday, September 19, 2006 5:20 PM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Re: API Method: vector dimensions
if you pass in "bedrooms_3+/bathrooms_2+" in the dimensions string
then oodle will return only those houses with 3+ bedrooms AND 2+
bathrooms. It is not necessary to pass in a string array.
--- In oodleapi@yahoogroups.com, "Aren Sandersen" <aren@...> wrote:
>
> The dimensions field takes an array of strings. To limit to red
Fords,
> for example, you'd send:
>
> [ 'color_red', 'make_ford' ]
>
> Aren
>
> -----Original Message-----
> From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
> Behalf Of realtycruiser
> Sent: Tuesday, September 05, 2006 8:43 AM
> To: oodleapi@yahoogroups.com
> Subject: [oodleapi] API Method: vector dimensions
>
> for the dimensions field in the method, what type of structure do
you
> expect?
>
> Refinements is defined like this, and it does not work
> dimension => [
> {
> name => 'Color',
> values => [
> { name => 'Red',
> code => 'color_red',
> count => (int) 43 },
> { name => 'Blue',
> code => 'color_blue',
> count => (int) 55},
> ]
> }
__._,_._
if you pass in "bedrooms_3+/bathrooms_2+" in the dimensions string
then oodle will return only those houses with 3+ bedrooms AND 2+
bathrooms. It is not necessary to pass in a string array.
--- In oodleapi@yahoogroups.com, "Aren Sandersen" <aren@...> wrote:
>
> The dimensions field takes an array of strings. To limit to red
Fords,
> for example, you'd send:
>
> [ 'color_red', 'make_ford' ]
>
> Aren
>
> -----Original Message-----
> From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
> Behalf Of realtycruiser
> Sent: Tuesday, September 05, 2006 8:43 AM
> To: oodleapi@yahoogroups.com
> Subject: [oodleapi] API Method: vector dimensions
>
> for the dimensions field in the method, what type of structure do
you
> expect?
>
> Refinements is defined like this, and it does not work
> dimension => [
> {
> name => 'Color',
> values => [
> { name => 'Red',
> code => 'color_red',
> count => (int) 43 },
> { name => 'Blue',
> code => 'color_blue',
> count => (int) 55},
> ]
> }
>
I found that if the resultset doesn't contain a particular field and
you have specified the return type struct to contain that field then
XML-RPC.net will throw up an error. e.g. When I search for housing
some results will have bathrooms field while others will not and
this causes the .NET library to throw an exception since it looks
for bathrooms if the struct that you store your result in has that
field. One way to get around that is to change the source of the xml-
rpc to not do strict validation and another is to use the
[XmlRpcMissingMapping] attribute on the field.
--- In oodleapi@yahoogroups.com, "Aren Sandersen" <aren@...> wrote:
>
> The Oodle XML-RPC implementation is (as far as I know) 100% XML-RPC
> compliant. If you've found otherwise, please let me know so that
we can
> correct the issue. There nothing about Oodle's data that should
make
> you write your own XML-RPC parser unless there is some problem
with the
> open-source library available for your language.
>
> Aren
>
> -----Original Message-----
> From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com]On
> Behalf Of realtycruiser
> Sent: Sunday, September 10, 2006 4:19 AM
> To: oodleapi@yahoogroups.com
> Subject: [oodleapi] Re: XML-RPS.net and Oodle API
>
>
> I developed a module in C#/.NET 2.0.
> first I used the excelent http://xml-rpc.net/ library.
> I discovered that the Oodle XML-RPC implementation was not
optimum. I
> succeeded getting some results but based on the way oodle format
> results, I decided to change my strategy and now I handled results
as
> XML data that I parse directly and build my own structure. This is
not
> the best software pattern but it works. In conclusion, handle the
> Oodle XMP-RPC at the XML low level instead of the RPC high level.
You
> will have to learn how XML-RPC protocol formats the data.
>
> --- In oodleapi@yahoogroups.com, "t_saether" <t_saether@> wrote:
> > Is there somewere we can go to get a example of a .net
interfacing to
> > the xml-rps.net (VB.net / C# / VisualStudio.net) ?
>
Philippe,
I got the same error and if you haven't already fixed it here's what
you can do. Change the type of value from int to string and it
should all work. That's what I did.
Hope this helps
Palak Chokshi
--- In oodleapi@yahoogroups.com, "realtycruiser"
<philippe.furlan@...> wrote:
>
> Today, I got the following error:
> "distance filter needs 'zip' param"
>
> 10 days ago, the same source code was working. Any change in the
> distance filter structure:
>
> public struct OodleFilterParams
> {
> public int value;
> public string units;
> public string zip;
> }
>
>
> any progress, on a filter based on lat/lon distance.
>
> Thanks.
>
Today, I got the following error:
"distance filter needs 'zip' param"
10 days ago, the same source code was working. Any change in the
distance filter structure:
public struct OodleFilterParams
{
public int value;
public string units;
public string zip;
}
any progress, on a filter based on lat/lon distance.
Thanks.
Hi!
Yes, the best will be to get the response in XML format or even
better for .NET users the SXML/SOAP. It seems to me that the XML-RPC
is ment for PHP programmers.
Anyway;
This is working (the Oodle api xml-rpc data "total" is not an array):
<XmlRpcMember("total")> Public mytotal As String
or just
Public total As String.
The problem comes when addressing the array, e.g.:
Refinements array, Category array, name:
This is NOT working:
<XmlRpcMember("refinements[category][name]")> Public
myrefinements_category_name() As String
Could someone tell me how to map these arrays into a .net structure
I can see from the XML-RPC.NET description that they do not support
array in array. From the Oodle response they are using the PHP array
in array structure. Can this be the problem I am facing?
/Tore
--- In oodleapi@yahoogroups.com, "realtycruiser"
<philippe.furlan@...> wrote:
>
> I developed a module in C#/.NET 2.0.
> first I used the excelent http://xml-rpc.net/ library.
> I discovered that the Oodle XML-RPC implementation was not
optimum. I
> succeeded getting some results but based on the way oodle format
> results, I decided to change my strategy and now I handled results
as
> XML data that I parse directly and build my own structure. This is
not
> the best software pattern but it works. In conclusion, handle the
> Oodle XMP-RPC at the XML low level instead of the RPC high level.
You
> will have to learn how XML-RPC protocol formats the data.
>
> --- In oodleapi@yahoogroups.com, "t_saether" <t_saether@> wrote:
> > Is there somewere we can go to get a example of a .net
interfacing to
> > the xml-rps.net (VB.net / C# / VisualStudio.net) ?
>
The Oodle XML-RPC implementation is (as far as I know) 100% XML-RPC
compliant. If you've found otherwise, please let me know so that we can
correct the issue. There nothing about Oodle's data that should make
you write your own XML-RPC parser unless there is some problem with the
open-source library available for your language.
Aren
-----Original Message-----
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com]On
Behalf Of realtycruiser
Sent: Sunday, September 10, 2006 4:19 AM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Re: XML-RPS.net and Oodle API
I developed a module in C#/.NET 2.0.
first I used the excelent http://xml-rpc.net/ library.
I discovered that the Oodle XML-RPC implementation was not optimum. I
succeeded getting some results but based on the way oodle format
results, I decided to change my strategy and now I handled results as
XML data that I parse directly and build my own structure. This is not
the best software pattern but it works. In conclusion, handle the
Oodle XMP-RPC at the XML low level instead of the RPC high level. You
will have to learn how XML-RPC protocol formats the data.
--- In oodleapi@yahoogroups.com, "t_saether" <t_saether@...> wrote:
> Is there somewere we can go to get a example of a .net interfacing to
> the xml-rps.net (VB.net / C# / VisualStudio.net) ?
I developed a module in C#/.NET 2.0.
first I used the excelent http://xml-rpc.net/ library.
I discovered that the Oodle XML-RPC implementation was not optimum. I
succeeded getting some results but based on the way oodle format
results, I decided to change my strategy and now I handled results as
XML data that I parse directly and build my own structure. This is not
the best software pattern but it works. In conclusion, handle the
Oodle XMP-RPC at the XML low level instead of the RPC high level. You
will have to learn how XML-RPC protocol formats the data.
--- In oodleapi@yahoogroups.com, "t_saether" <t_saether@...> wrote:
> Is there somewere we can go to get a example of a .net interfacing to
> the xml-rps.net (VB.net / C# / VisualStudio.net) ?
Hi!
We try to implement a XML-RPS.net Client to read the Oodle XMLRPS
data.
However, because we are not using or know very well PHP it seems
difficult to find the correct data structure and nameing of the Oodle
API array.
Below you find some of the code (VB.net) for the structure of data we
want to receive. The "Items.title" may not to be correct. Please
advise, is it a PHP array structure to be given her?
Public Structure OodleStructure
'Items
<XmlRpcMember("Items.title")> Public items_item_title() As
String
.....
.....
End Structure
The Interface definition is: (is the method name "search" correct?
<XmlRpcUrl("http://www.oodle.com/api/")> Public Interface
OodleApiInterface
Inherits IXmlRpcProxy
<XmlRpcMethod("search")> Function search(ByVal partnerID As
String, ByVal userKey As String, ByVal serachTerms As String, ByVal
region As String, ByVal category As String, ByVal dimensions As
String, ByVal filters As String, ByVal sort As SortStructure, ByVal
startPage As Integer, ByVal itemsPerPage As Integer, ByVal moreID As
String) As OodleStructure
End Interface
Is there somewere we can go to get a example of a .net interfacing to
the xml-rps.net (VB.net / C# / VisualStudio.net) ?
Best regards
Tore
The dimensions field takes an array of strings. To limit to red Fords,
for example, you'd send:
[ 'color_red', 'make_ford' ]
Aren
-----Original Message-----
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of realtycruiser
Sent: Tuesday, September 05, 2006 8:43 AM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] API Method: vector dimensions
for the dimensions field in the method, what type of structure do you
expect?
Refinements is defined like this, and it does not work
dimension => [
{
name => 'Color',
values => [
{ name => 'Red',
code => 'color_red',
count => (int) 43 },
{ name => 'Blue',
code => 'color_blue',
count => (int) 55},
]
}
Yes, this is something we can definitely offer. I will add a feature
request for it.
Aren
-----Original Message-----
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of realtycruiser
Sent: Tuesday, September 05, 2006 7:51 AM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Feature Request:: latitude/longitude
I am developing a location based application and the following feature
is very important for me.
Today, you can define a filter and sort as 'distance' and 'zip', can
you add a new filter/sort with a 'latitude/longitude' field.
It should be easy to implement because I believe that you convert a
zip as latitude/longitude in order to calculate distance.
Let me know, if you plan to add such feature.
Thanks.
This is something we probably cannot offer. It's important that our
users visit the original ad to find the contact information. Among
other reasons, this allows the seller to remove their ad (and contact
information) at the original site once the items sells so that any
inquiries stop.
Aren
-----Original Message-----
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of realtycruiser
Sent: Tuesday, September 05, 2006 7:57 AM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Feature request: phone
I am developping a mobile application and the following feature can be
very usefull:
For each ads, is this possible to parse telephone number and add that
as an accessible field.
I know that such feature is not simple to implement. I will appreciate
that you submit this feature to your product team for review. they can
contact me if they wish to know more regarding this feature.
for the dimensions field in the method, what type of structure do you
expect?
Refinements is defined like this, and it does not work
dimension => [
{
name => 'Color',
values => [
{ name => 'Red',
code => 'color_red',
count => (int) 43 },
{ name => 'Blue',
code => 'color_blue',
count => (int) 55},
]
}
I am developping a mobile application and the following feature can be
very usefull:
For each ads, is this possible to parse telephone number and add that
as an accessible field.
I know that such feature is not simple to implement. I will appreciate
that you submit this feature to your product team for review. they can
contact me if they wish to know more regarding this feature.
I am developing a location based application and the following feature
is very important for me.
Today, you can define a filter and sort as 'distance' and 'zip', can
you add a new filter/sort with a 'latitude/longitude' field.
It should be easy to implement because I believe that you convert a
zip as latitude/longitude in order to calculate distance.
Let me know, if you plan to add such feature.
Thanks.
For your information, the results produced by your server are all
defined as "string". This is ok with me but should be defined in the
API docs.
If we format request with correct datatype (for example int), is this
going to be an issue with your server, or should we defined all the
request field as string.
- The filters parameter needs an array of 'filter' structs. If you only
have 1, send it in an array.
- The 'dimensions' parameter takes an array of 'dimensions'. Each looks
like make_ford, model_a4, etc.
Aren
________________________________
From: oodleapi@yahoogroups.com [mailto:oodleapi@yahoogroups.com] On
Behalf Of realtycruiser
Sent: Friday, September 01, 2006 11:41 AM
To: oodleapi@yahoogroups.com
Subject: [oodleapi] Error #4 usplit failed
1) I am getting Error #4 usplit failed.
any idea why?
2) can you provide some example of how the query may look like
Here is what I send:
... Snip ...
Is it possible to provide a quick bit of example code (using PHP)
for someone who wants to include real estate listings for a
particular city on a site?
Thanks.
--- In oodleapi@yahoogroups.com, "a_sandersen" <aren@...> wrote:
>
> --- In oodleapi@yahoogroups.com, "mrnicksgirl" <nstowe@> wrote:
>
> > Is there a DTD document available, so we may know what fields to
> > expect for each type of classified?
>
> In terms of an XML DTD, we don't have one for our data because our
data
> is encoded in XMLRPC so an XML DTD won't represent our data at all.
>
> That said, we don't have a set list of which fields will/will not
be
> with each record. You can use the API human-readable form to take
a
> peek at the fields usually found with each type of listing.
>
> Aren Sandersen
> Oodle, Inc.
> Lead Developer
>
--- In oodleapi@yahoogroups.com, "mrnicksgirl" <nstowe@...> wrote:
> Is there a DTD document available, so we may know what fields to
> expect for each type of classified?
In terms of an XML DTD, we don't have one for our data because our data
is encoded in XMLRPC so an XML DTD won't represent our data at all.
That said, we don't have a set list of which fields will/will not be
with each record. You can use the API human-readable form to take a
peek at the fields usually found with each type of listing.
Aren Sandersen
Oodle, Inc.
Lead Developer
The global variable $count(line 80) is set to the number of results(line 294).. then later (line 676), its once again counted instead of using the global variable. Explaination? Then later,