2016-11-25 1 views
1

Ich spiele gerade mit und validiere commercetools api. Ich möchte eine bestimmte SQS-Warteschlange abonnieren, um Nachrichten in diese Warteschlange zu schieben. jedoch, wenn im ein Abonnement für einen bestimmten Nachrichtentyp, die api kehrt hinzuzufügen versuchen:Welche Nachrichten werden für Abonnements in commercetools unterstützt

{ „status“: 400, „message“: "Die TypeId‚DeliveryAdded‘ist unbekannt oder nicht durch Abonnements unterstützt. “, "Fehler": [{ "Code": "InvalidInput", "message": " Die TypeId 'DeliveryAdded' ist unbekannt oder nicht durch Abonnements unterstützt"}]}] mit Ursache

Für ResourceTypeID , Verwende ich die oben genannten Namen (zB DeliveryAdded) Die Anfrage selbst ist in Ordnung. Ich habe verschiedene Typen ausprobiert, immer mit dem gleichen Ergebnis. Gibt es einen MessageType, der eigentlich für Abonnements unterstützt wird?

Edit:

POST https://api.sphere.io/some-project/subscriptions HTTP/1,1

{ 
"destination" : { 
    "type" : "SQS", 
    "accessKey" : "XXXXXXXX", 
    "accessSecret" : "XXXXXXXX", 
    "region" : "EU", 
    "queueUrl" : "https://sqs.eu-central-1.amazonaws.com/XXXXXX/YYYYYYYY" 
}, 
"messages" : [ { 
    "resourceTypeId" : "CustomerCreated" 
} ] 

Antwort

4

für die CustomerCreated Nachricht die resourceTypeId sollte customer

seien Sie eine Liste der unterstützten Ressourcentyp-IDs finden Sie unter:
http://dev.commercetools.com/http-api-projects-subscriptions.html#changesubscription

+0

Danke, Es stellte sich heraus, dass ich resourceTypeId mit Typen verwechselt habe. Aber es funktioniert immer noch nicht. Jetzt bekomme ich '{" statusCode ": 500," message ":" Hoppla. Das sollte nicht passieren. "," Errors ": [{" code ":" General "," message ":" Hoppla. Das sollte nicht passieren. "}]}]'. Ich habe die URL der Anfrage nicht geändert, außer was du erwähnt hast. Die angegebene Fehlermeldung hilft nicht:/ – lunatikz

+1

Das Problem ist mit einer Region, die Sie im Abonnement angegeben haben. Die Region "EU" gibt es nicht, Sie müssen eine davon verwenden: 'eu-west-1',' eu-central-1' für AWS Europäische Region – tenshi

+0

Ja, das hat den Trick gemacht. Vielen Dank, Leute. Ich denke, eine Genehmigung für die API wäre großartig, wenn eine bestimmte Region (oder andere Felder) nicht korrekt versorgt werden. – lunatikz

1

Sie die Nachrichten abonnieren können, die in der persistenten Nachricht API dokumentiert sind: http://dev.commercetools.com/http-api-projects-messages.html

So "DeliveryAdded" ist eine Nachricht. Es könnte sein, dass Sie den Message-Typ als resourceTypeId angegeben haben (was im Falle der "DeliveryAdded" -Nachricht "order" ist, da es sich um eine Nachricht handelt, die sich auf eine Änderung der Auftragsressource bezieht).

Können Sie Ihre Anfrage JSON?

PS: Sie müssen die persistenten Nachrichten nicht aktiviert haben, um Nachrichten zu abonnieren.

+0

ich meine Frage aktualisiert, additinal Ich habe versucht, die CustomerCreated Nachricht verwenden. Wenn ich einen Benutzer in der Sphäre erstelle, kann ich die Nachricht sehen, wenn ich sie von der API abfrage. Aber das Abonnement funktioniert immer noch nicht – lunatikz

Verwandte Themen