Ebay developers program

      6 Comments on Ebay developers program

Reconozco una adición: me he subido al carro de vendedor de Ebay y parezco un buhonero :lol:. Estoy tratando de desacerme de todas esas cosas que encuentro de repente y que no he echado de menos en los 3 años que hace de mi última mudanza.
Como lo de mirar si alguien puja por tus artículos se convierte en un impulso irrefrenable cada 4 horas, se me había ocurrido la feliz idea de colocar esa información que tanto consulto en mi propia página de Makinolo.

Así que me puse a buscar algún tipo de feed en XML (tipo SOAP o el que usé en su dia para recuperar la información del tiempo) que conectase con Ebay y me devolviese esa información.
No tardé mucho en encontrar el Ebay Developers Program donde explican perfectamente el enrevesado método para hacer lo que yo estaba pensando.

Es enrevesado porque necesitas unos 4 identificadores distintos, a saber:

  • Developer ID: cadena de 30 caracteres alfanuméricos
  • Application ID: otra cadena de 30
  • Certification ID: Otra mas
  • User Token para el sandbox (servidor de pruebas): cadena alfanumérica de 872 bytes

Toda esta información hay que mandarla en cada petición que se realiza contra el API XML remoto de Ebay, por motivos de seguridad. Pero… veamos con mas detenimiento los pasos que hay que seguir para empezar a jugar un poco con el API de Ebay.

  • Darse de alta en la web del developers program como “developer” o como “affiliate” (te piden hasta la talla de calzoncillos y son bastante quisquillosos con la longitud y composicion de usuario y password). En principio ambos son gratis si no superas cierto número de llamadas mensuales al API, y las diferencias se explican aquí.
  • Crear una entrada para vuestra aplicación con lo que conseguireis un Application ID
  • Darse de alta en el entorno de testing, el “sandbox” con un usuario, al igual que haríamos en Ebay. Ojo, elegid un usuario distinto al que teneis en Ebay, porque si no luego al entrar en Ebay real podeis tener algun problema con la cache y el navegador intentará redirigiros siempre al sandbox.
  • Conseguir el user token del sandbox entrando en la dirección que se indica en el email que os envian
  • Hacerse una autocertificación de la aplicación (self-certification) para conseguir un Certification-id

Despues de estas “sencillas” tareas, ya podreis empezar a hacer pruebas contra el sandbox. Yo he usado los ejemplos en PHP porque wordpress está en php y asi todo queda homogéneo, pero tambien hay API para Java, SOAP, C#, C++, Perl, Python, etc…

El ejemplo es una búsqueda y en el código podemos definir el código de la web de Ebay, dependiendo del pais, al que queremos hacer la consulta. US=0 , UK=3, Canada=2, Australia = 15, España=186.
Este es el meollo del asunto:

// Spain
$siteID = 186;
//the call being made:
$verb = 'GetSearchResults';

//Build the request Xml string
$requestXmlBody = '< ?xml version="1.0" encoding="utf-8" ?>';
$requestXmlBody .= '';
$requestXmlBody .= "$userToken";
$requestXmlBody .= "$query";
$requestXmlBody .= '
';

//Create a new eBay session with all details needed, CompatabilityLevel = 433 and using the test server
$session = new eBaySession($userToken, $devID, $appID, $certID, true, 433, $siteID, $verb);

//send the request and get response
$responseXml = $session->sendHttpRequest($requestXmlBody);
if(stristr($responseXml, 'HTTP 404') || $responseXml == '')
die('

Error sending request');

//Xml string is parsed and creates a DOM Document object
$responseDoc = new DomDocument();
$responseDoc->loadXML($responseXml);

Después rellenamos el archivo keys.php con las claves que hemos ido recopilando y, siempre que tengamos bien instalada la librería cURL adecuada y el OpenSSL en nuestro servidor, ¡Voilá! Podremos hacer una simple búsqueda en los objetos de Ebay desde nuestra propia página.

Lo malo es que como es el sandbox, no tiene mas datos que los de gente que esté haciendo pruebas a la vez que nosotros 🙁 y no suelen ser muchos.

Bueno, ahora toca ir a por lo que me interesa y ver como cambio las llamadas para que en vez de pedir una busqueda, pida los artículos de un vendedor, osea los mios y que en vez de ir contra el sandbox, vaya contra el servidor real.

6 thoughts on “Ebay developers program

  1. Makinolo Post author

    Ya te digo, aunque de momento solo he vendido cosas, no se si es que no encuentro nada que necesite, o simplemente en Ebay no tienen lo que necesito al precio que me gustaría 🙂

  2. McOwen

    Hola 😉
    Menuda historieta lo de eBay. Hace poco tuve que integrar el proceso de compras y ventas rápidas de eBay para el curro y resultó ser un poco más coñazo de lo esperado. Casi lo peor fue enterarme del lío del Sandbox, el developer program y todo eso.
    Si necesitas algún tipo de info al respecto ya sabes…

    Saludos

  3. Makinolo Post author

    Hombre McOwen 😀
    Pues es posible que si te pregunte cosas, aunque me imagino que todo ira saliendo.
    A mi lo que me mata es que cada vez que entro en el sandbox desde la web luego cada vez que entro en Ebay normal, me redirige al sandbox y claro, no encuentro nada de lo que busco 🙂 Tengo que borrar cookies, cache y de todo para poder entrar normalmente.
    ¿Resulta muy complicado pasar a produccion real? ¿Teneis suficiente en tu curro con las llamadas gratuitas al API o estais pagando algo?

  4. McOwen

    Aún no hemos pasado a producción, aunque no tiene porqué haber ningún problema. Para el proceso de pagos y envíos rápidos hay que mandar un total de 3 mensajes SOAP y recibir otros 3. En el primero le paso los parámetros de usuario, donde se especifica la cuenta y además el entorno: sandbox o paypal. Así no hay duda sobre donde nos movemos.
    Respecto a pagar, no pagamos nada más que las comisiones derivadas de la venta, pero claro, lo que tú estás haciendo no es lo mismo que lo que hacemos nosotros…

  5. Garcia

    Hola, estoy buscando un programador para que me haga un script en PHP, y poder gestionar mis ventas allí desde mi pagina web.

    Interesador responder por favor.

Leave a Reply

Your email address will not be published. Required fields are marked *