Amazon

AssociateTag in Zendframework Amazon Anfragen

Posted by Michael Roth on Januar 06, 2012
PHP / No Comments

Wie bereits erwähnt hat Amazon die Product Advertising API geändert. Daher ist nun bei jeder Anfrage eine PartnerId (engl. AssociateTag) notwendig, sonst wird folgende Fehlermeldung ausgegeben:

Your request is missing required parameters.
Required parameters include AssociateTag.

Es gibt zwei Möglichkeit dieses AssociateTag im Zendframework zu setzen. Die PartnerID  kann an die beiden Anfrage itemLookup() und itemSearch() im Optionen-Array mit übergeben werden.

$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->itemLookup($asin,
                                    array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
                                          'MerchantId' => 'Amazon',
                                          'AssociateTag' => 'rothdigital-21');

Als Alternative kann die Methode AssociateTag(‚rothdigital-21‘)  benutzt werden um den Wert als Methodenaufruf zu setzten. Wichtig ist, dass die Category bei Anfragen als erstes gesetzt wird und dann erst AssociateTag.

$aws = new RD_Amazon_Query($awsID,'DE',$awsKey);
$item=$aws->category('All')->AssociateTag('rothdigital-21')
                           ->itemLookup($asin,
                                    array('ResponseGroup' => 'OfferFull, BrowseNodes,Large',
                                          'MerchantId' => 'Amazon');

Diese beiden Wege funktionieren mit Zendframework 1.11. Es gibt schon einen Bug-Report, der vorschlägt die PartnerId in den Konstruktor zu übernehmen. Daher kann sich das Verhalten im nächsten Release des Zendframework wieder ändern. Sollten Sie Änderungen feststellen, benutzen Sie einfach hier die Kommentarfunktion.

Tags: , ,

phplist und Amazon Simple Email Service

Posted by Michael Roth on November 04, 2011
Cloud, Internet / No Comments

phplist ist ein browserbasiertes Programm, das es erlaubt Newsletter an eine große Anzahl von Empfängern zu senden. Es können Templates angelegt werden und so das Aussehen der E-Mail individuell angepasst werden. Falls ein Server auf einmal viele E-Mails sendet kann dies von einigen Mailservern als Spamversand interpretiert werden und der Newslettersender kann auf einer Blacklist landen. Um dies zu verhindern kann man mit phplist die E-Mails zeitlich versetzt senden und beispielsweise mit einem Cronjob so alle fünf Minuten 100 E-Mails senden.

Diese Methode ist aber sehr zeitaufwendig. Bei vielen Empfänger kann sich der E-Mailversand über mehrere Stunden oder Tage hinziehen. Eine Alternative ist der Amazon Simple Email Service. Dieser Dienst ermöglicht das einfache und schnelle Versenden von vielen E-Mails. Amazon hat die eignen Mailserver auf mehreren Whitelisten eingetragen und überwacht die Qualität der E-Mails, daher können diese Server nicht so einfach auf Blacklists landen.

phplist unterstützt die Verbindung zu Amazon SES leider erst in der Entwicklungsversion 2.11.6. Um Amazon SES zu nutzen sind folgende Änderungen in der Datei config/config.php notwendig:

define('PHPMAILER',0);
define('AWS_ACCESSKEYID','Your Access Key ID');
define('AWS_SECRETKEY','Your corresponding secret key');
define('AWS_POSTURL','https://email.us-east-1.amazonaws.com/');

Eine genaue Anleitung ist unter http://www.phplist.com/?lid=515 zu finden.

Tags: ,

Änderung in der Amazon Product Advertising API

Posted by Michael Roth on November 03, 2011
PERL / No Comments

Seit dem 26. Oktober 2011 ist für das Abfragen von Produktinformationen über die Amazon Product Advertising API die Angabe eine Partner-ID, auch „associate tag“ genannt, notwendig. Alle Anfrage ohne diese Partner-ID liefert folgenden Fehler:

Your request is missing required parameters.
Required parameters include AssociateTag.

Eine Partner-ID kann auf der Seite https://partnernet.amazon.de einfach und kostenlos beantragt werden.

Unter Perl empfehle ich den Einsatz des CPAN Moduls Net::Amazon. Ab der Version 0.61, die am 28. Oktober 2011, erschienen ist, kann beim Konstruktor das Parameter associate_tag übergeben werden. Das Erzeugen des Objekts sieht dann wie folgt aus:

  my $ua = Net::Amazon->new(
      associate_tag => 'YOUR_AMZN_ASSOCIATE_TAG',
      token         => 'YOUR_AMZN_TOKEN',
      secret_key    => 'YOUR_AMZN_SECRET_KEY',
  );

Eine genaue Anleitung ist auf der CPAN-Seite zu finden.

Tags: ,