2016-11-25 68 views
1

我目前在玩和驗證commercetools api。 我想訂閱某個SQS隊列,以便將消息推送到此隊列。 但是,如果我嘗試添加訂閱了某種消息類型,API返回:哪些郵件支持商務工具中的訂閱

{「的StatusCode」:400,「消息」:「其TYPEID‘DeliveryAdded’未知或不訂閱支持。 」, 「錯誤」:[{ 「代碼」: 「InvalidInput」, 「消息」: 「該TYPEID 'DeliveryAdded' 是未知或不通過訂閱支持」}]與根源

對於resourceTypeId}] ,我使用上面提到的名稱(例如DeliveryAdded) 請求本身沒有問題。 我嘗試了一些不同的類型,總是有相同的結果。是否有任何MessageType,實際上支持訂閱?

編輯:

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" 
} ] 

回答

4

CustomerCreated消息resourceTypeId應該customer

請找支持的資源型IDS的一個列表:
http://dev.commercetools.com/http-api-projects-subscriptions.html#changesubscription

+0

謝謝,事實證明,我將resourceTypeId與類型混淆在一起。但它仍然沒有工作。現在得到'{「statusCode」:500,「message」:「糟糕,這不應該發生。」,「errors」:[{「code」:「General」,「message」:「Oops。This should not發生。「}]}]'。除了你提到的內容外,我沒有更改請求網址或任何內容。給定的錯誤消息不起作用:/ – lunatikz

+1

問題在於您在訂閱中指定的區域。歐盟地區不存在EU,您需要爲AWS歐洲地區使用以下其中一種:eu-west-1,eu-central-1 – tenshi

+0

是的,這樣做有訣竅。十分感謝大家。如果某個地區(或其他地區)的供應不正確,我認爲api的認可度會很高。 – lunatikz

1

您可以訂閱的持久性消息API中記錄的信息:http://dev.commercetools.com/http-api-projects-messages.html

所以 「DeliveryAdded」是一條消息。可能是因爲您已將Message類型設置爲resourceTypeId(對於「DeliveryAdded」消息,這是「訂單」,因爲它是與訂單資源更改有關的消息)。

你可以發佈你的請求JSON嗎?

PS:您不需要激活持久消息來訂閱消息。

+0

我更新了我的問題,additinal我嘗試使用CustomerCreated消息。當我在球體上創建用戶時,如果我從api中進行輪詢,我可以看到該消息。但訂閱仍然無法正常工作 – lunatikz