Usando la Advertising API de Amazon vía SOAP

Atención: Este artículo forma parte de una serie de artículos de usando la Advertising API de Amazon. Para entenderlo bien es mejor que el lector lea primero el artículo anterior que brinda una introducción.

Anterior: Gana dinero con Amazon Advertising API

Amazon provee de una API de publicidad a través de la cual si alguien compra un libro en Amazon a través de nosotros nos llevamos un porcentaje de la compra.

En el ejemplo de demo de la API SOAP de Amazon que realizaremos recogeremos una serie de artículos y los mostraremos haciendo vínculos hacia ellos por medio de la función ItemSearch provista por Amazon.

Para ello necesitaremos una cuenta en darnos de alta como Afiliados en Amazon. Durante el proceso del alta nos solicitará una serie de datos que deberán ser reales y una vez terminado podremos acceder a crear unas claves.

A continuación crearemos un cliente SOAP en PHP que se comunique con la API de Amazon para nuestro fin. Si no has tratado nunca con SOAP en PHP te recomiendo mirar la documentación oficial.
 

Como nota adicional la documentación sobre la API SOAP de Amazon Advertising la podéis encontrar aquí.





Instanciaremos un objeto SoapClient al que le pasaremos la URL del documento WSDL como parámetro.

http://webservices.amazon.com/AWSECommerceService/AWSECommerceService.wsdl?rw_useCurrentProtocol=1

A continuación definiremos nuestra clave de acceso al servicio y le indicaremos nuestro ID de asociado para poder monetizar las compras realizadas.


Para ello una vez nos hayamos registrado y dado de alta como afiliados en Amazon para lo que nos solicitará un número de teléfono y nos llamarán solicitándonos un código,  nos logueamos y accedemos a este panel.




Clicamos en Manage Your Account y a continuación clicaremos en AWS Security Credentials Console.

 


Lo ideal sería configurar usuarios IAM -> Usuarios de privilegios limitados, pero para no hacerlo excesivamente largo clicaremos en Continue to Security Credentials.



Una vez aquí y dentro de Access Keys clicarmos en Create New Access Key. Esto nos dará un ACCESS_KEY y una SECRET_KEY que utilizaremos a continuación.

Accederemos a nuestro fichero PHP y definiremos las claves que hemos conseguido y nuestro así como nuestro ID de asociado.


A continuación crearemos una variable $funcion con el nombre de la función SOAP que vamos a llamar. $timestamp con el la fecha y hora la que estamos y $cadena concatenando el nombre de la función con la fecha y hora a la que estamos.


Para conseguir firmar esto cifraremos en sha256 la cadena con nuestra SECRET_KEY y finalmente lo codificaremos en base64 para poder enviarlo sin problemas vía HTTP.



Crearemos un $namespace único y estableceremos las cabeceras SOAP en un array al que llamaremos $cabecera y posteriormente las añadieremos a nuestro objeto $soapClient con el método __setSoapHeaders



Para concluir crearemos un Array Asociativo con los parámetros que espera recibir la función SOAP  a la que estamos llamando -en este caso ItemSearch para realizar una búsqueda de productos-

La función ItemSearch espera recibir una serie de parámetros que podemos encontrar aquí.

SearchIndex es la categoría de la búsqueda, Keywords las palabras clave y ResponseGroup el tipo de respuesta, por defecto Small. Según el tipo de respuesta nos devolverá más o menos información.

Finalmente hacemos la petición SOAP y almacenamos el resultado en $result.

A partir de este momento podremos tratar $result para mostrar los datos recogidos.

Por ejemplo mostrando una lista de los resultados.



El código de ejemplo lo podéis descargar desde aquí.

Espero que os haya servido y como siempre, un fuerte abrazo!

No hay comentarios:

Publicar un comentario